在Google Maps API中,它允許您在給定座標列表的情況下設置地圖的邊界。棒極了。我的問題是它在側面給人一點喘息的空間。我試圖讓我所看到的邊界框幾乎不包含邊界。Google Maps API setBounds到精確座標
例如,我想查看加利福尼亞州,因此我將邊界設置爲東北角和西南角。雖然不是隻展示加利福尼亞州,但我得到了俄勒岡州和墨西哥的一半。
這裏是目前我在做什麼:
var geo_region = {
northeast: {
lat: 42.0095169
lng: -114.131211
}
southwest: {
lat: 32.528832
lng: -124.482003
}
}
var map_bounds = new google.maps.LatLngBounds();
map_bounds.extend(new google.maps.LatLng(geo_region.northeast.lat, geo_region.northeast.lng));
map_bounds.extend(new google.maps.LatLng(geo_region.southwest.lat, geo_region.southwest.lng));
var plot_map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
plot_map.fitBounds(map_bounds);
編輯: 更明確的例子可能是懷俄明州,因爲它是這樣一個漂亮的矩形。如果我的地圖尺寸與懷俄明的比例相同,我只希望它能向我展示懷俄明州。
編輯: 有人建議我手動抵消邊界,所以我抓住了谷歌正在使用的偏移量的一些數據,但我無法弄清楚他們的公式是什麼來決定這些偏移量,所以我很長的路要走從能夠做到這一點。我甚至使用了Google的Geocoding API中的視口座標,但那些也沒有多大幫助。
相關問題:[Google Maps V3 - 如何計算給定範圍的縮放級別](http://stackoverflow.com/questions/6048975/google-maps-v3-how-to-calculate-the-zoom - 電平換一個給出的界) – geocodezip