Desidero sapere quando un evento zoom_changed di Google Maps viene attivato in particolare da un'interazione dell'utente con i pulsanti +/- zoom. Se utilizzo un listener di eventi generici per zoom_changed, non posso dire se si tratta di un evento generato dall'utente o di uno zoom causato da qualcosa come fitBounds(). Cerchi il modo migliore per farlo.Come ascoltare lo zoom generato dall'utente in Google Maps?
Ho provato le cose seguenti, nessuno dei quali sembrano funzionare:
1) cercato informazioni su eventi zoom_changed. Non sembra esserci nessuno.
2) Aggiungi listener per mouseover e mouseout che consentono di impostare un flag per vedere se l'utente è nei limiti della mappa e controllare il flag su zoom_changed. Questo non funziona perché la mappa non considera i pulsanti di zoom come parte della cornice della mappa (in altre parole, passa con il mouse sui pulsanti di zoom per attivare l'evento mouseout).
3) Aggiungere un listener normale (non gMap) ai pulsanti di zoom. Tuttavia, non riesco a trovare un selettore CSS definitivo che mi consenta di afferrare solo i pulsanti.
4) Cercavo una funzione nell'APAP di gMaps che mi permettesse di fare qualcosa come getZoomElements(), e quindi potevo impostare i listener che lo utilizzavano.
La cosa strana è che posso fare chiaramente quello che voglio se aggiungo un controllo personalizzato alla mappa. Sembra molto strano che mi costringano a farlo invece di avere un gancio nei controlli di zoom predefiniti.
Considerare anche la rotellina del mouse: c'è più di un modo per un utente di manipolare lo zoom. – josh3736
Non dimenticare gli eventi di tocco e la tastiera. –