爲什麼我無法獲得此代碼的座標?無法從此代碼中獲取緯度和經度
錯誤是:ReferenceError: Can't find variable: card_Latitude
。
我把代碼從這裏:How to get longitude and latitude of a city/country inputted through an input box?
我不明白爲什麼。
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script>
var card_FullAddress = "Canada";
var geocoder = new google.maps.Geocoder();
geocoder.geocode({
'address': card_FullAddress
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var card_Latitude = results[0].geometry.location.lat();
var card_Longitude = results[0].geometry.location.lng();
} else {
var card_Latitude = "ERR";
var card_Longitude = "ERR";
}
});
console.log(card_Latitude);
console.log(card_Longitude);
</script>
因爲'card_Latitude'是** **本地的回調函數。如果你仔細觀察,你會注意到你把'console.log' *放在回調的外部。這是一個更簡單的例子:'function foo(){var bar = 42; };的console.log(巴);'。看起來你對異步代碼不熟悉,所以我推薦閱讀:http://stackoverflow.com/q/23667086/218196 – 2014-10-02 15:31:05
'card_Latitude'存在於不同的範圍內。 – gdoron 2014-10-02 15:31:36
那麼如何在外面訪問它呢?我試圖刪除'var',但同樣的錯誤。 – Bonito 2014-10-02 15:32:57