我正在使用谷歌地圖API(v2)並希望將地圖放在一個國家(例如英格蘭)的中心。如何將谷歌地圖按照名稱居中國
目前我中心使用地圖:
map.setCenter(new GLatLng(43.907787,-79.359741), 9);
但這顯然需要經度和緯度。
任何方式通過插入一個國家的名字做到這一點?
我正在使用谷歌地圖API(v2)並希望將地圖放在一個國家(例如英格蘭)的中心。如何將谷歌地圖按照名稱居中國
目前我中心使用地圖:
map.setCenter(new GLatLng(43.907787,-79.359741), 9);
但這顯然需要經度和緯度。
任何方式通過插入一個國家的名字做到這一點?
var country = "United States"
var map = new GMap2($("#map")[0]);
map.setUIToDefault();
var geocoder = new GClientGeocoder();
geocoder.getLatLng(country, function (point) {
if (!point) {
// Handle error
} else {
map.setCenter(point, 8, G_PHYSICAL_MAP);
}
});
我接受的問題我實際上首先使用它來實現它,但後來我轉移到您的代碼,它在我的設置中效果更好......謝謝 – 2009-11-16 20:04:54
將此更改爲接受的答案,因爲它只是公平的它是最終實現的那個 – 2009-11-16 20:11:03
geocoder還返回包含目標的建議大小的ExtendedData。 [請注意,該框不適合目標位置。它只是在那裏提供合理的縮放。]但是,這可能正是你在這種情況下需要的,所以當你以英格蘭爲中心時,你會得到不同的縮放比當你以俄羅斯爲中心時。 請參閱http://econym.org.uk/gmap/example_geo3.htm – 2009-11-17 08:10:59
將位置名稱或地址轉換爲緯度/經度,這稱爲地理編碼。 Google Maps API現在包含以下功能:請參閱http://code.google.com/apis/maps/documentation/services.html#Geocoding
它們包含一個示例應用程序,您可以在其中輸入地址,並且它的作用僅僅是輸入國家/地區名稱。我不知道他們是否會去國家的中心。
+1幫助答案 – 2009-11-16 20:11:34
您需要首先進行地址解析地址:
var geocoder = new google.maps.Geocoder();
var location = "England";
geocoder.geocode({ 'address': location }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
} else {
alert("Could not find location: " + location);
}
});
這是使用Google Maps API v3完成此操作的正確方法。 (v2將於2013年5月停止工作)。 – 2013-02-23 23:02:52
或者不使用Geocoder API調用,您可以使用此[國家/地區列表](https://github.com/mihai-craita/countries_center_box「list」)及其對應的座標 – 2014-06-23 05:51:44
這個問題涉及到谷歌地圖API第2版,現在已過期。 Mabe我們應該編輯它以保持它最新? – 2017-08-30 11:56:37