如果有人对实现代码以设置地图标记图标的最有效方法有任何建议,那将非常有帮助:
- 用户定义的过滤器指定要显示的标记(
boolean
) - 包含在
HashMap<String, Integer>
与标记相关联的键 - inclass CrimePoint
过滤器用户定义的选项:
boolean displayAntiSocialBehaviourMarkers;
boolean displayBurglaryMarkers;
boolean displayCriminalDamageArsonMarkers;
boolean displayDrugsMarkers;
boolean displayOtherTheftMarkers;
boolean displayPubDisorderWeaponsMarkers;
boolean displayRobberyMarkers;
boolean displayShopliftingMarkers;
boolean displayVehicleCrimeMarkers;
boolean displayViolentCrimeMarkers;
boolean displayOtherCrimeMarkers;
每个标记都是用CrimePoint
一个类创建的,该类包含绘制标记所需的所有信息
犯罪点类变量:
private final Double latitude;
private final Double longitude;
private final String title;
//SNIPPET
//The HashMap storing the categories associated with this CrimePoint.
//Category name is the key and the number of crimes in that category is the Value
//
private Map<String, Integer> crimeCategories;
//An integer to hold the references to the icon image to use
//Example: R.drawable.image002;
private int iconResource;
标记图标:
地图有12 个不同的标记图标。每个过滤器选项一个 [如上所示] 和一个特殊情况标记(多重犯罪),其中:
-CrimePoint
具有多个犯罪类别 ( crimeCategories.size() > 1
)并且
- 包含在其中的多个犯罪类别CrimePoint
使用过滤器选项设置为可见
仅当显示一个(或多个)犯罪类别时才会绘制标记。
任何帮助或建议都会很棒,因为我花了很长时间来处理我需要的逻辑并且没有想出太多。
注意:每次用户更改过滤器选项时,都需要调用此函数来更改地图上的图标和隐藏/显示标记。