Dav*_*ort 5 javascript google-maps
我正在尝试访问Google商家信息,以便在经度和纬度范围内返回50个餐馆名称,但在提出请求时,我遇到了一堵砖墙.我已经获得了确定用户纬度和经度的代码,并且我从谷歌获得了我的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>
Run Code Online (Sandbox Code Playgroud)
谷歌文档没有说明如何实际获取数据
事实并非如此,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'
});
Run Code Online (Sandbox Code Playgroud)
请注意,这将不起作用,因为不支持 JSONP,这只是为了说明如何在jQuery 中发出请求
但是,据我所知,Web 服务不支持JSONP,因此您将无法通过 JavaScript 发出请求。不过,您可以使用 Google Maps JavaScript API 并使用Places JavaScript 库。同样,该页面有示例显示如何使用该库,基本使用将涉及启动服务并发出搜索请求,如下所示(直接从文档复制):
service = new google.maps.places.PlacesService(map);
service.search(request, callback);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5679 次 |
| 最近记录: |