1

こんにちは、マーカーがたくさんある地図があります。マップにマーカーを追加するとき、個々のデータを持つ各マーカーに onInfoWindowClick リスナーを追加したいと考えています。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);

    }
4

2 に答える 2

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);
    }
  }
)
于 2012-12-29T12:33:40.740 に答える
2

情報またはオブジェクトをマーカーに関連付ける方法については、この記事をご覧ください: http://bon-app-etit.blogspot.be/2012/12/add-informationobject-to-marker-in.html

于 2012-12-30T17:26:58.033 に答える