您好,我有一个有很多标记的地图。当我将标记添加到地图中时,我想添加一个onInfoWindowClick监听器给每个标记与单个数据。我想用onInfoWindowClick Listener加载一个活动信息的标记信息。Android Google Maps API v onInfoWindowClick触发所有侦听器的活动创建
该代码无法正常工作。当创建活动时,所有听众同时被触发,当我点击infoWindow时,什么都不会发生。
private void addMarkerToMap(double lat, double lng, String eventTitle,
String eventDiscribtion) {
Marker currentMarker = myMap.addMarker(new MarkerOptions()
.position(new LatLng(lat, lng)).title(eventTitle)
.snippet(eventDiscribtion));
onInfoWindowClick(currentMarker);
}
@Override
public void onInfoWindowClick(Marker marker) {
Intent nextScreen = new Intent(MapsActivity.this,
EventActivity.class);
nextScreen.putExtra("userId", "" + userId);
nextScreen.putExtra("eventId", "" + eventId);
startActivityForResult(nextScreen, 0);
}
感谢那些我在这一刻发现它的作品,但现在我有另一个问题。收听者用独立数据创建。我只获得每个标记中的最后一个标记信息。 –
我已经通过将标记存储在活动级别定义的散列图<标记,对象>中来解决了这个问题。这样,当监听器被调用时,我可以抓住相关的对象:'MyObject obj = myHashMap.get(marker);' – RorschachDev
@DotProductSoft嗨,我正在做同样的认识...这里是我的代码 –