【问题标题】:google places search methods inconsistenciesgoogle地方搜索方法不一致
【发布时间】:2014-11-18 17:37:43
【问题描述】:

我有一个关于 google 地方如何处理搜索请求的问题。

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

这很好用。

现在这个 atm 查找必须使用 js 传输到 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)

但是这些会产生太多结果(例如没有自动取款机的银行)。另外,我想避免在一个就足够的情况下触发三个请求。

我很想只使用上面的 url,但这与同源策略冲突。据我所知,谷歌在他们的 v3 api 标准中禁止 jsonp。

所以,问题是: 使用谷歌地方当前的 v3 js api:如何模拟上面 url 完成的请求?

【问题讨论】:

    标签: javascript google-places-api


    【解决方案1】:

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

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

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

    【讨论】:

    • 确实如此。结果是一样的。我只是不明白为什么应用程序中的搜索查找会得到其他结果。算法看起来一样......好吧,我猜这是另一种情况。不过还是谢谢你的回答。我会给你赏金来承认你的努力。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-28
    • 2016-07-09
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多