我正在研究谷歌地图android。我在地图上添加了一些标记。我需要对不同的标记执行不同的操作,例如一个标记点击我只想显示信息windowindow和其他标记点击我想打开一些活动。请帮助我怎么做。
答案 0 :(得分:1)
请参阅官方文档中的marker_click_events:
您可以使用
OnMarkerClickListener
收听点击事件 标记。当用户点击marker
时,onMarkerClick(Marker)
将被调用,标记将作为参数传递。 此方法返回一个布尔值,指示您是否已使用 事件(即,您要禁止默认行为)。如果它 返回false,然后除了之外还会发生默认行为 你的自定义行为。标记点击事件的默认行为是 显示其信息窗口(如果有)。
答案 1 :(得分:0)
您可以onMarkerClickListener
与Google API v2 documentation同意使用{/ 1}}。
您可以从Activity(或Fragment)实现侦听器,然后覆盖onMarkerClick(Marker)
例如,您的活动应该是:
public class YourActivity extends FragmentActivity
implements OnMarkerClickListener{
// ...
}
然后,当您设置地图时,您可以这样做:
yourMap.setOnMarkerClickListener(this); // yorMap is a GoogleMap object
由于您已实现OnMarkerClickListner,因此需要实现onMarkerClick(Marker)
。
例如:
@Override
public boolean onMarkerClick(final Marker marker) {
if (marker.equals(markerA)) {
// action fired when markerA is clicked
}else if(marker.equals(markerB)){
// action fired when markerA is clicked
}
return false;
}
其中markerA和markerB是两个Marker
个对象:
private Marker markerA;
private Marker markerB;
它应该在之前添加,例如以这种方式添加:
markerA = mMap.addMarker(new MarkerOptions()
.position(new LatLng(LatA, LonA))
.title("marker A"));
// the same for markerB