我是Google Maps API的新手。我希望獲得關於實現以下功能的建議:每當頁面加載時,地圖將以美國爲中心加載。想象一下美國的一個盒子,它有給定的經緯度來指定最小和最大邊界。我需要以適當的縮放加載地圖(並且需要禁用縮放),以便此框組成整個地圖。Google Maps API - 加載美國
基本上,我想知道是否有一個函數,加載地圖基於緯度/長邊界(或某種方式來實現這一點),而不是加載給定縮放級別的地圖。
我是Google Maps API的新手。我希望獲得關於實現以下功能的建議:每當頁面加載時,地圖將以美國爲中心加載。想象一下美國的一個盒子,它有給定的經緯度來指定最小和最大邊界。我需要以適當的縮放加載地圖(並且需要禁用縮放),以便此框組成整個地圖。Google Maps API - 加載美國
基本上,我想知道是否有一個函數,加載地圖基於緯度/長邊界(或某種方式來實現這一點),而不是加載給定縮放級別的地圖。
假設你正在使用的v3 API,您可能需要使用fitBounds
方法如下:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps fitBounds</title>
<script src="http://maps.google.com/maps/api/js?sensor=false"
type="text/javascript"></script>
</head>
<body>
<div id="map" style="width: 500px; height: 350px;"></div>
<script type="text/javascript">
var myOptions = { mapTypeId: google.maps.MapTypeId.ROADMAP };
var map = new google.maps.Map(document.getElementById("map"), myOptions);
var geocoder = new google.maps.Geocoder();
geocoder.geocode({'address': 'US'}, function (results, status) {
var ne = results[0].geometry.viewport.getNorthEast();
var sw = results[0].geometry.viewport.getSouthWest();
map.fitBounds(results[0].geometry.viewport);
});
</script>
</body>
</html>
截圖:
在上面的例子中,我發現了通過地理編碼美國的視口。不過,您也可以通過傳遞東北和西南點來自己創建一個對象,並且方法將縮放並平移地圖,以使其適合地圖畫布。
謝謝! fitBounds()正是我正在尋找的 – hjk 2010-05-29 23:48:22
@hjk:我回答了[幾個月前的類似問題](http://stackoverflow.com/questions/2494756/fitbounds-in-google-maps-api-v3-不 - 不適合界/ 2496558#2496558)。它顯示一個紅色邊界框'fitBounds'如何反應。紅色邊界框表示您將傳遞給'fitBounds'的'LatLngBounds'。 – 2010-05-29 23:51:54
謝謝Daniel,這很有幫助。所以Google地圖無法調整縮放的粒度?即他們的縮放級別是固定的? – hjk 2010-05-29 23:57:27