0
我正在嘗試使用Google geocoder服務來獲取用戶輸入的城市座標。然而,看起來像初始化LatLng()對象(latlngCity)時出現了一些問題,並且地圖不會顯示出來。代碼如下:谷歌地理編碼服務
var map;
var latlngCity;
function initialize() {
var geocoder = new google.maps.Geocoder();
geocoder.geocode({'address': 'Lisbon, PT'}, function(results, status) {
if(status == google.maps.GeocoderStatus.OK) {
latlngCity = results[0].geometry.location;
}
});
var myMapOptions = {
zoom: 8,
center: latlngCity,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"),
myMapOptions);
}
爲了簡單起見,我自己插入地址城市字符串。變量map和latlngCity是全局變量。這段代碼有什麼問題嗎? 非常感謝。
感謝您的回覆。我試圖在回調中創建地圖,它工作。地理編碼器現在工作正常。但是,我現在無法在地圖上創建標記。我在回調中聲明瞭沒有'var'的地圖。它應該成爲全球性的權利?但是當我在標記的選項中定義地圖時,它永遠不會顯示出來。 –
你在哪裏創建標記?它可能是完全相同的問題 - 嘗試在地圖創建後在'geocode'回調中設置標記。 – mhyfritz
就是這樣!我不得不在回調中創建標記。再次感謝你。 –