当前位置 : 主页 > 手机开发 > android >

android – 点击谷歌地图标记infoWindow开始活动

来源:互联网 收集:自由互联 发布时间:2021-06-11
我必须通过单击infoWindow开始一些活动(我可以使用setOnInfoWindowClickListener()),但是这个活动可能不同,我还需要其他东西.我应该有可能为每个地图标记设置一个ID.我可以将自定义ID传递给地
我必须通过单击infoWindow开始一些活动(我可以使用setOnInfoWindowClickListener()),但是这个活动可能不同,我还需要其他东西.我应该有可能为每个地图标记设置一个ID.我可以将自定义ID传递给地图上的每个标记吗?或者我如何使用此id在infoWindow中创建按钮(如果我可以这样做,我可以传递此ID). 我建议使用HashMap或类似的东西.当您遍历对象列表并为它们创建标记时,还要将标记添加到列表中,使用对象的ID作为键,将标记作为值:

private HashMap<Integer, Marker> markerMap = new HashMap<Integer, Marker>();

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)));
     }
}

然后,您可以使用OnInfoWindowClickListener在Map中查找点击标记的对象ID,并使用相应的数据执行某些操作,例如打开包含详细信息的新活动.

网友评论