谷歌地方搜索方法不一致

时间:2014-11-18 17:37:43

标签: javascript google-places-api

我对google如何处理搜索请求有疑问。

情况如下: 有一个应用程序可以在特定位置查找atm计算机。使用以下URL处理查找: https://maps.googleapis.com/maps/api/place/search/json?location=49.338233,11.04442199999994&radius=1000&keyword=atm|geldautomat&sensor=false&key=KEY

这很好用。

现在必须使用js将此atm查询传输到Web应用程序中。我正在使用places api,但我无法弄清楚如何获得相同的结果。

例如: 在链接中使用与上述相同参数的new google.maps.places.PlacesService(map).search(request, callback),结果会有很大差异!对于某些位置,我得到更多结果,对于其他位置,我得到的结果更少或结果为空。

我尝试使用

中的组合
search (using keyword-parameter)
radarSearch (using type atm)
nearbySearch (using type atm, too)

但这会产生太多结果(例如没有atm机器的银行)。另外,我想避免在一个人应该满足的情况下发出三个请求。

我非常希望只使用上面的网址,但这与相同的原始政策相冲突。据我所知,谷歌禁止jsonp使用v3 api标准。

所以,问题是: 使用google地方的当前v3 js api:如何模拟上面的网址所做的请求?

1 个答案:

答案 0 :(得分:0)

我已将 rankby 参数添加到请求设置中,并获得与网址相同的结果:

var request = {
    location: default_center,
    radius: 1000,
    rankby : google.maps.places.RankBy.DISTANCE,
    keyword: 'atm|geldautomat'
};

请检查jsfiddle demo并告诉我它是否适合您。