Android Google Maps API v2 onInfoWindowClick触发所有侦听器创建活动

时间:2012-12-28 10:41:18

标签: google-maps-markers google-maps-android-api-2

嗨我有一张带有很多标记的地图。当我将标记添加到地图时,我想为每个标记添加一个onInfoWindowClick监听器和单独的数据。我想用onInfoWindowClick Listener加载带有标记信息的活动。

代码无效。创建activety时,所有侦听器都会同时触发,当我单击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);

    }

2 个答案:

答案 0 :(得分:7)

您将在GoogleMap对象(myMap)中实现onclick行为

myMap.setOnInfoWindowClickListener(
  new OnInfoWindowClickListener(){
    public void onInfoWindowClick(Marker marker){
      Intent nextScreen = new Intent(MapsActivity.this,EventActivity.class);
        nextScreen.putExtra("userId", "" + userId);
        nextScreen.putExtra("eventId", "" + eventId);

        startActivityForResult(nextScreen, 0);
    }
  }
)

答案 1 :(得分:2)

查看这篇文章,了解如何将信息或对象与标记相关联: http://bon-app-etit.blogspot.be/2012/12/add-informationobject-to-marker-in.html