Jul*_*ira 1 android google-maps-android-api-2
我在地图中动态添加非固定数量的标记,每个标记都与我的POCO类的一个实例相关.
我需要链接它们,以便当用户点击其中一个标记时,我会在自定义InfoWindow中显示其余数据.
你有什么建议?
PS:我每次用户平移或缩放地图时添加新标记,我担心应用程序过载.是否放置了不可见的标记?
我建议使用HashMap或类似的东西.当您遍历对象列表并为它们创建标记时,还要将标记添加到列表中,使用对象的ID作为键,将标记作为值:
private HashMap<Integer, Marker> markerMap = new HashMap<Integer, Marker>();
Run Code Online (Sandbox Code Playgroud)
...
for(MarkerObject obj : this.markerObjects)
{
//If the marker isn't already being displayed
if(!markerMap.containsKey(obj.getId()))
{
//Add the Marker to the Map and keep track of it
this.markerMap.put(obj.getId(), this.mMap.addMarker(getMarkerForObject(obj)));
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用OnInfoWindowClickListener在Map中查找点击标记的对象ID,并使用相应的数据执行某些操作,例如打开包含详细信息的新活动.
| 归档时间: |
|
| 查看次数: |
6116 次 |
| 最近记录: |