Android Google Maps API v2 onInfoWindowClick триггеры для создания активности всех слушателей

Привет, у меня есть карта с большим количеством маркеров. Когда я добавляю маркеры на карту, я хочу добавить onInfoWindowClick Listener для каждого маркера с отдельными данными. Я хочу загрузить активацию с информацией о маркере с помощью onInfoWindowClick Listener.

Код не работает правильно. Когда активизация создается, все слушатели запускаются одновременно, и когда я нажимаю на 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);

    }
1
добавлено отредактировано
Просмотры: 1
de

2 ответы

Вы бы выполнили поведение onclick в своем объекте GoogleMap (myMap)

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);
    }
  }
)
7
добавлено
@DotProductSoft Привет, я делаю тот же подход ... вот мой код
добавлено автор Rakesh Gondaliya, источник
Спасибо, что работает, я нашел его в этот момент, но теперь у меня другая проблема. Слушатели не создаются с отдельными данными. Я получаю только последнюю информацию о маркерах в каждом маркере.
добавлено автор King Luy, источник
Я преодолел эту проблему, сохранив маркеры в Hashmap , определенные на уровне активности. Таким образом, когда вызывается Listener, я могу захватить связанный объект: MyObject obj = myHashMap.get (marker);
добавлено автор RorschachDev, источник

check out this post about how to associate information or objects to markers: http://bon-app-etit.blogspot.be/2012/12/add-informationobject-to-marker-in.html

2
добавлено