Goal: voglio avere una funzione di ricerca personalizzato (geocode) ed essere in grado di elencare e fare clic su ogni risultato e visualizzarlo sulla mappa.Google Maps API v3 - Geocoder risultati questione con limiti
Cercasi: Regolare mappa limiti/livello di zoom conseguenza, ad esempio la ricerca di "MA, Stati Uniti d'America" dovrebbe ingrandire la mappa per farmi vedere tutto lo stato del Massachusetts, mentre la ricerca di "Boston, MA, Stati Uniti d'America" dovrebbe zoom su l'area di Boston. Quando si elencano più risultati, lo stesso dovrebbe valere quando si fa clic su un risultato.
: È possibile utilizzare l'oggetto geometry.bounds con fitBounds, ma alcuni risultati ottenuti con il geocoder non hanno questo oggetto geometry.bounds.
Un esempio veloce: la ricerca di "Boston" restituisce
Boston, MA, USA
Boston, MA, USA
Boston, KY, USA
Boston, GA 31626, Stati Uniti d'America
Boston, Salem , VA 22713, USA
Boston, NY 14025, USA
Sia "Boston, KY" che "Boston NY 14025" non hanno limiti.
Domanda: C'è un modo affidabile per visualizzare qualsiasi risultato geocodificatore su una mappa al livello di zoom appropriato?
In questo momento sto usando qualcosa di simile, ma trovo questo brutto e non risolve il problema dello zoom
if (results[0].geometry.bounds) {
map.fitBounds(results[0].geometry.bounds);
} else {
map.setCenter(results[0].geometry.location);
// eventually set zoom here to some middle-range value (ugly)
}
Avete provato a utilizzare l'oggetto 'viewport'. – andresf
Quali valori dovrei cercare nell'oggetto viewport? Non sembra che vi siano dei limiti restituiti. Grazie. – MrUpsidown