如何解决如何使用Google地方信息获取位置名称数组?
| 我正在尝试访问Google地方信息,以返回一个由50个围绕纬度和经度的餐厅名称组成的数组,但是在提出请求时,我遇到了麻烦。我已经有了确定用户纬度和经度的代码,并且已经从Google获得了我的API密钥,但我只是想不出如何通过URL发出请求,而Google文档对此却保持沉默实际获取数据。我相信我将能够弄清楚如何解析JSON返回值,但是事实证明,获取数据比我想象的更加困难/混乱。 如果有关系,我正在使用MaxMind来获取用户的纬度和经度。这是我到目前为止拥有的脚本:<script type=\"text/javascript\" src=\"https://www.google.com/jsapi?key=api_key\"></script>
<script type=\"text/javascript\" src=\"http://j.maxmind.com/app/geoip.js\"></script>
<script type=\"text/javascript\">
latitude = geoip_latitude();
longitude = geoip_longitude();
</script>
解决方法
Google文档没有说明如何实际获取数据
并非如此,Places Web Service API文档提供了示例-您使用适当的参数生成URL,然后获取解析的JSON或XML。
如果您使用的是jQuery且该API支持JSONP,则可以执行以下操作:
$.ajax({
url: \'https://maps.googleapis.com/maps/api/place/search/json\',data: {
location:\"-33.8670522,151.1957362\",radius: 500,types:\'food\',name: \'harbour\',sensor: false,key: \'AIzaSyAiFpFd85eMtfbvmVNEYuNds5TEF9FjIPI\'
},success: function(data){
//data will be a JSON object that you can iterate over
},dataType: \'jsonp\'
});
请注意,由于不支持JSONP,这将无法工作,这仅是为了说明您如何在jQuery中进行请求
但是,AFAIK Web服务不支持JSONP,因此您将无法通过JavaScript发出请求。但是,您可以使用Google Maps JavaScript API并使用Places JavaScript库。再次,该页面上的示例显示了如何使用该库,基本用法将涉及如下启动服务和发出搜索请求(直接从docs复制):
service = new google.maps.places.PlacesService(map);
service.search(request,callback);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。