Konum servis uygulamam için Google Haritalar ve Google Geocoding hizmetini kullanıyorum. Adresi lat/lng konumuna çevirmek için Google Geocoding hizmetini kullanıyorum. Sorunum, maps.google.com'un yaptığı gibi belirli bir adres için otomatik olarak uygun bir yakınlaştırmanın nasıl bulunacağıdır. Örneğin, bir caddeyi maps.google.com'da (ör. Cisitu Baru, Bandung
) aradığımda, caddeyi daha küçük yakınlaştırmada gösterecektir. Bir bölgeyi aradığımda (ör. Bandung
), daha büyük yakınlaştırma gösterir. Ve il için daha büyük bir yakınlaştırma (ör. Jawa Barat
/West Java
), vb.Coğrafi Kodlama Sonucu için Otomatik Olarak Uygun Zoom Bulma
denedim hem
var geocoder = new google.maps.Geocoder();
geocoder.geocode({
'address': someAddress
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
console.dir(results);
//cut
map.panToBounds(results[0].geometry.bounds); //setting bound
//cut
}
});
ve Dürüst, hala bounds
ve viewport
ve ne bunların kullanımları vardır arasındaki fark code.google.com geliyor bilmiyorum
//cut
map.panToBounds(results[0].geometry.viewports); //setting bound
//cut
(/apis/maps/documentation/javascript/geocoding.html)
Ancak her ikisi de haritayı uygun yakınlaştırmada göstermiyor.
Şu anda, bu
var tabZoom = {
street_address: 15,
route: 15,
sublocality: 14,
locality: 13,
country: 10
};
//cut
map.setCenter(results[0].geometry.location);
if (tabZoom[results[0].types[0]] != undefined){
map.setZoom(tabZoom[results[0].types[0]]);
} else {
map.zetZoom(10);
}
//cut
gibi küçük kesmek diğer çözüm var mı kullanıyor? (Ya da henüz bilmediğim Google Harita API'sından bir şey?)
Teşekkürler!
v2 API'sini bilmiyorum. API v3'ü kullanarak açıklayabilir misiniz? Teşekkürler. V3'te –
, LatLngBounds sınıfını kullanabilirsiniz http://code.google.com/apis/maps/documentation/javascript/reference.html#LatLngBounds –
Nice, örnek URL'nizden "fitBounds" yöntemini öğrendim. Ben sadece map.fitBounds (sonuçlar [0] .geometry.bounds) 'yi yapıyorum ve cazibe gibi çalışıyor. Teşekkürler! –