gpt4 book ai didi

jquery - 带有 AJAX 的 Google Elevation API?

转载 作者:行者123 更新时间:2023-12-01 07:33:59 25 4
gpt4 key购买 nike

我正在尝试将 Google Elevation API 与 JQuery 的 getJSON 函数结合使用。

我正在使用这段使用 JSONP 的代码:

jQuery.getJSON("http://maps.googleapis.com/maps/api/elevation/json?locations=23.444,45.4545&sensor=false&jsoncallback=?", function(json){
alert("a");
});

我可以在 Firebug 中看到 GET 请求已正确发送,并且我收到了来自 Google 的正确响应:

{
"status": "OK",
"results": [ {
"location": {
"lat": 23.4440000,
"lng": 45.4545000
},
"elevation": 816.7996216
} ]
}

但是我从来没有收到警报,并且我从 Firebug 收到此错误:

invalid label
"status": "OK",\n

我正在使用 Google Maps API v2,因此我想使用内置方法。

有没有办法通过 AJAX 请求使用 Google Elevation API 获取海拔高度,而无需创建代理?

感谢您的帮助。

本杰明

最佳答案

该 API 不支持 JSONP,它仅返回 JSON...所以是的,在这种情况下您需要代理。

需要明确的是,正确的响应应该是这样的:

someFunction({
"status": "OK",
"results": [ {
"location": {
"lat": 23.4440000,
"lng": 45.4545000
},
"elevation": 816.7996216
} ]
})

jQuery 将 callback=? 替换为 callback=someFunction,但 google 不使用此参数,因为该服务不支持 JSONP...所以问题是您正在有效地执行此操作:

<script type="text/javascript">
{
"status": "OK",
"results": [ {
"location": {
"lat": 23.4440000,
"lng": 45.4545000
},
"elevation": 816.7996216
} ]
}
</script>

这会导致错误,因为这不是有效的 JavaScript...您会收到无效标签错误。如果它有函数包装器,那么它有效,并且会执行 jQuery 创建的函数(来自您的 success 回调)。

关于jquery - 带有 AJAX 的 Google Elevation API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3905529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com