我正在尝试学习 javascript 并使用 Google Maps API,但我似乎陷入了一个(希望如此)简单的问题。
我写了这个函数来获取地理编码坐标:
function codeAddress() {
var st = document.getElementById('start').value;
var dest = document.getElementById('end').value;
geocoder.geocode( { 'address': st}, function(results, status) {
var startCoded = results[0].geometry.location;
var startLng = results[0].geometry.location.lng();
var startLat = results[0].geometry.location.lat();
document.getElementById("content1").value = startCoded;
});
geocoder.geocode( { 'address': dest}, function(results, status) {
var endCoded = results[0].geometry.location;
var endLng = results[0].geometry.location.lng();
var endLat = results[0].geometry.location.lat();
document.getElementById("content2").value = endCoded;
if (status == google.maps.GeocoderStatus.OK) {
var lngSpan = startLng - endLat;
var latSpan = startLat - endLng;
console.log(endCoded);
}
});
}
但我收到此错误:ReferenceError: startLng is not defined
我知道这与我需要回调来阅读它们的事实有关,但我不知道如何做到这一点。
提前致谢。