2011-05-31 155 views
0

我有一個簡單的問題。我可以使用地理編碼創建一個以Niwot,CO爲中心的Google地圖。如果我點擊表單中的「編碼」按鈕(我從Google的網站獲得),它會在地圖上的正確位置放置一個標記。谷歌地圖v3 geocoder:經度和緯度的回調

我的問題是:如何使用javascript回調函數檢索位置座標(緯度和經度)?我需要把lat和long放到我的數據庫中。

另外,現在我只用一個地方進行故障排除,但是我將需要它用於多個地址。

代碼如下。

謝謝!

var geocoder; var map; 函數初始化(){

geocoder = new google.maps.Geocoder(); 
var latlng = new google.maps.LatLng(40.171776, -105.116737); 
var myOptions = { 
    zoom: 10, 
    center: latlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
} 
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

}

功能codeAddress(){

變種地址= '的Niwot,CO'; //這最終將是一個數組 geocoder.geocode({ 「地址」:地址},功能(結果){

var marker = new google.maps.Marker({ 
     map: map, 
     position: results[0].geometry.location 

    }); 
如下的添加基於註釋1

//代碼;我怎麼顯示緯度和經度,我需要做T?他的故障排除。

var latlng = results[0].geometry.location; 
    var lat = latlng.lat(); 
    var lng = latlng.lng(); 

}); }

回答

2

返回的位置是LatLng類的實例。你可以調用lat()獲取緯度和lng()來獲取經度。例如

var latlng = results [0] .geometry.location; var lat = latlng.lat(); var lng = latlng.lng();

下面是相關文檔:

http://code.google.com/apis/maps/documentation/javascript/reference.html#LatLng

+0

感謝。我讀過文檔,但我不知道JavaScript,所以我不知道如何修改我的代碼。我知道經度和緯度存儲在「位置」,並且你已經展示瞭如何定義這些變量。我將如何在頁面上顯示它們?感謝您的幫助。 – Maggie 2011-05-31 17:12:32

0

你可以做你的地理編碼調用

geocoder.geocode({ 'address': 'CA, US'}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
    location = results[0].geometry.location; 
    alert(location) 
    } 
    }); 

內這將顯示該地址的經度和緯度。

(緯度,經度)