您正在尝试在此处使用JSONP。
JSONP
如果URL包含字符串“ callback =?” (或类似,由服务器端API定义),则将request>视为JSONP。有关更多详细信息,请参见$
.ajax()中有关jsonp数据类型的讨论。重要提示:从jQuery 1.4开始,如果JSON文件包含语法错误,则请求通常会静默失败。
参见:http :
//api.jquery.com/jQuery.getJSON/
但是您要调用的URL返回 纯 JSON,因此解析失败并出现语法错误,并且无
getJSON提示地失败。
现在,当您尝试更改地理编码网址以使用JSONP时,您会收到一条
404错误消息,因为Google早已删除了对JSONP的支持:
- http://pre.google.com/p/gmaps-api-issues/issues/detail?id=1872
- http://blog.mikecouturier.com/2009/11/jsonp-and-google-maps-api-geoprer-not.html
简而言之:
您不能再简单地使用浏览器Javascript中的地理编码api,必须在服务器上添加代理脚本。
即使该请求有效,您的代码中仍然存在一个错误:
json.results是结果 数组 ,因此没有
geometry属性。
您必须访问数组的第一个元素才能到达具有以下
geometry属性的实际对象:
json.results[9].geometry.location.lng



