2016-05-19 33 views
-1

我是新手谷歌地圖,所以請原諒,如果解決方案對於有經驗的用戶而言顯而易見,但我無法在文檔中找到任何相關信息。如何確保給定的國家包含在谷歌地圖地圖中

我想製作一張埃及地圖。

我所理解的多,我不得不

  1. 建立與國家中心的 「中心」 參數地圖 - 經緯度(27.274553,30.256790)

  2. 確保整個國家都包含在地圖中,即定義一個縮放因子

通過試驗和錯誤,我發現zoom:6是<div>的合適值,我用它來顯示地圖。

我想知道是否有更好的計算縮放因子的方法,即繪製包含由2點(NE,SW)提供的矩形的地圖。

感謝您的建議。

+0

可能重複(http://stackoverflow.com/questions/13689270/google-maps-v3-geocode-zoom) – geocodezip

回答

1

使用Geocoder來確定您感興趣的國家/地區的建議視口/範圍。

var geocoder, map, marker; 
 

 
function codeAddress(address) { 
 
    geocoder.geocode({ 
 
    'address': address 
 
    }, function(results, status) { 
 
    if (status == google.maps.GeocoderStatus.OK) { 
 
     if (results[0].geometry.viewport) 
 
     map.fitBounds(results[0].geometry.viewport); 
 
     else if (results[0].geometry.bounds) 
 
     map.fitBounds(results[0].geometry.bounds); 
 
    } else { 
 
     alert("Geocode was not successful for the following reason: " + status); 
 
    } 
 
    }); 
 
} 
 

 
function initialize() { 
 
    geocoder = new google.maps.Geocoder(); 
 
    map = new google.maps.Map(
 
    document.getElementById("map_canvas"), { 
 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
 
    }); 
 
    codeAddress("Egypt"); 
 

 
} 
 
google.maps.event.addDomListener(window, "load", initialize);
html, 
 
body, 
 
#map_canvas { 
 
    height: 100%; 
 
    width: 100%; 
 
    margin: 0px; 
 
    padding: 0px 
 
}
<script src="https://maps.googleapis.com/maps/api/js"></script> 
 
<div id="map_canvas"></div>

[谷歌地圖V3地理編碼+變焦]的
+0

謝謝您回答 你提供的代碼顯示了一張以埃及爲中心的地圖,但是這個尺度並不是我想要的,而這正是我的問題的主題。 換句話說:有沒有辦法讓縮放因子自動計算,以便國家完全包含在<div>中,但儘可能地填充它? – PapyJP

+0

谷歌地圖API中的縮放級別是離散的。有一些填充,所以你可以放大一次,仍然可以看到全部或大部分國家,但這是不能保證的。 – geocodezip

+0

謝謝,geocodezip! – PapyJP