2012-12-04 3 views
7

Vorrei implementarlo nella mia app, ma non ho idea di come rendere l'indicatore un pulsante, o come fare in modo che OnMarkerClickListener indichi quale parte ha fatto clic su.Come posso aggiungere un pulsante alla finestra informativa di un marcatore?

Ad esempio, ecco l'app Maps ufficiale, in cui l'icona delle indicazioni stradali è una parte/pulsante separati e la parte destra mostra le recensioni.

Example

+0

possibile duplicato di [Aggiunta di un pulsante a una vista personalizzata di InfoWindowAdapter che può registrare i clic] (http://stackoverflow.com/questions/13706925/ aggiunta-un-pulsante-a-un-personalizzato-infowindowadapter-view-that-can-register-clicks) –

risposta

4

Presumo si utilizza la nuova versione del Google Maps Android API

Mentre è possibile impostare una finestra di informazioni di essere una vista arbitrario usando GoogleMap.setInfoWindowAdapter(), finestra delle informazioni che vengono riprodotti sulla la mappa non è una vista dal vivo. Invece, è un'istantanea della vista al momento in cui la vista è stata restituita dall'adattatore. Quindi, sfortunatamente non esiste attualmente alcun modo per distinguere tra gli eventi di clic nella finestra informativa.

0

La "bolla" è solo un'altra vista che è posto sulla parte superiore della mappa. Quindi il tuo OnMarkerClickedListener ti dirà quale pin è stato cliccato. Da lì è possibile ottenere la posizione effettiva del pin sullo schermo e utilizzarla per posizionare la vista a bolle che conterrà solo i normali widget Android.

+0

ha qualche link per farlo che – Amitsharma

1

È possibile inserire il codice html desiderato nella proprietà del contenuto di InfoWindow.

come riferimento: https://developers.google.com/maps/documentation/javascript/overlays#InfoWindows

+0

Qualche idea su come farlo con Android v2 api? –

+0

dispiace, ho poi capito che era circa la versione Android del API Per la versione di Android sembra essere un po 'diverso: https://developers.google.com/maps/documentation/android/marker#info_windows – msonsona

+0

Yep, questo la domanda è per Android, non l'API di Javascript. –

3

Vedere la mia risposta here momenti fa: nstead, ascoltare gli eventi di marcatore con OnMarkerClickListener e visualizzare direttamente la propria vista completa. Tuttavia, potrebbe essere un po 'più di lavoro ancorarlo alla posizione del marcatore. Prova PopupWindow con showAtLocation (Visualizza genitore, int gravity, int x, int y)