我正在使用谷歌地图API通过LAT和LON获取高程值,但我总是得到未定义的对象。
我的脚本是这样的:
<script type="application/javascript">
function findAltitude() {
var lat = document.getElementById('lat').value;
var lon = document.getElementById('lon').value;
var url = "https://maps.googleapis.com/maps/api/elevation/json?locations=11,11&key=<API_KEY>";
var json, data;
$.ajax({
dataType: "json",
url: url,
data: data,
success: function(data) {
alert(data.results.elevation);
}
});
}
</script>
我的 JSON 是这样的:
{"results" : [
{
"elevation" : 402.0888977050781,
"location" : {
"lat" : 11,
"lng" : 11
},
"resolution" : 152.7032318115234
}],"status" : "OK"}
发布的JSON中的results
包含一个数组。 因此,您可能希望记录例如第一个结果提升,如下所示:alert(data.results[0].elevation);
结果是一个数组,因此您的问题。
更改此行:
data.results.elevation
跟:
data.results[0].elevation
你可以做
$.ajax({
dataType: "json",
url: url,
data: data,
success: function(data) {
alert(data.results[0].elevation);
}
});
}