请帮助我使用 google geocoder.geocode。我知道这个函数是异步运行的,但我不知道如何处理它。
如何等待结果?这是我的代码:我的代码不等待 geocode.geocoder 所以我得到未定义而不是地理定位。
<!DOCTYPE html>
<html>
<head>
<title>Geocoding service
</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="cs" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<link href="http://code.google.com//apis/maps/documentation/javascript/examples/default.css" rel="stylesheet">
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
function codeAddress(callback) {
var address = document.getElementById('address').value;
geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
},callback);
}
function geocoder(result) {
alert(codeAddress());
}
function button() {
geocoder(codeAddress) ;
}
</script>
</head>
<body>
<div id="panel">
<input id="address" type="textbox" value="address">
<input type="button" value="Go" onclick="button()">
</div>
<div id="map-canvas">
</div>
</body>
</html>