17

Я видел, что люди находят много трудностей с этой конкретной задачей, и мне также нужна помощь.Android Google Map v2 - Начало деятельности при нажатии на маркер infoWindow

Я успешно создал маркеры на карте, используя код по умолчанию, предоставленный Google. Но теперь я хочу иметь возможность щелкнуть «InfoWindow», чтобы открыть новую активность, чтобы добавить дополнительную информацию.

Кто-нибудь знает, как это сделать?

Если вы ответите на этот вопрос , пожалуйста, введите код или пример. Любая помощь была бы высоко оценена!

+0

https://developers.google.com/maps/documentation/android/marker – Raghunandan

+1

вы знаете примера Raghunandan? где я вижу код? Спасибо – user1977908

+0

http://www.verious.com/article/detect-info-window-click-implements-on-info-window-click-listener/. Пример. отображает тост в информационном окне, нажмите, чтобы сделать то, что вы хотите, нажав информационное окно, изменив то же самое – Raghunandan

ответ

54

добавить это в ваш код

Mymap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() { 
      @Override 
      public void onInfoWindowClick(Marker marker) { 
       Intent intent = new Intent(MapActivity.this,OtherActivity.class); 
       startActivity(intent); 


      } 
     }); 
+0

Спасибо, что это сработало! Я отправлю код примера другим пользователям! – user1977908

+1

Как бы вы передали параметр с помощью маркера? – AlexVPerl

+0

Что такое Mymap? Mine не может разрешить символ setOnInfoWindowClickListener, потому что Mymap не подходит для моего кода ... Является ли это экземпляром класса GoogleMap? Является ли это классом для деятельности? Или это новый отдельный класс, наследуемый от класса GoogleMap? –

1
This method works even well with multiple markers. get the title of the marker using marker.getTitle() and Starts the activity based on which marker you clicked. 

public void onMapReady(GoogleMap googleMap) { 
     mMap = googleMap; 
     // Add a marker in Sydney and move the camera 
     LatLng chennai = new LatLng(12.9671, 80.2593); 
     mMap.addMarker(new MarkerOptions().position(chennai).title("Chennai")); 

     LatLng perungudi = new LatLng(12.97, 80.25); 
     mMap.addMarker(new MarkerOptions().position(perungudi).title("Perungudi")); 

     LatLng pallikarnai = new LatLng(12.9377, 80.2154); 
     mMap.addMarker(new MarkerOptions().position(pallikarnai).title("Pallikarnai")); 

     mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(chennai,12)); 
     mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() { 
      @Override 
      public boolean onMarkerClick(Marker marker) { 
       if (marker.getTitle().equals("Chennai")){ 
        Toast.makeText(MapsActivity.this, "Clicked"+marker.getTitle(), Toast.LENGTH_SHORT).show(); 
       } 
       return false; 
      } 
     }); 

    } 

 Смежные вопросы

  • Нет связанных вопросов^_^