0

我正在尝试使用 Google Maps API 通过键入您要查找的栏来自动完成以查找附近的酒吧。这似乎不属于 API 的用户故事。我在弄清楚我需要使用哪些技巧组合来完成此操作时遇到问题。

  1. 自动完成功能没有足够细化的地点类型(机构、地理编码)来仅过滤酒吧,因此我的预测充满了加油站、律师事务所和墓地。

  2. 附近搜索的粒度足以过滤 type=bar 但不能用作自动完成,因为名称和关键字参数是完全匹配的。所以当我搜索“craw”时,我得到的是 ZERO_RESULTS 而不是“Crawdaddy's”。

  3. 接下来,我想我会得到预测,应用 type=bar 过滤器对同一位置进行雷达搜索,我只会根据参考号获取雷达结果中的预测。NO GO,要么雷达搜索使用的参考编号与自动完成不同,要么没有将最近的 type=bay 返回到我的位置。

所以最终,我问我在这里是在做傻事,还是有办法实现按业务类型过滤的自动完成功能?

谢谢, 塔尔

4

1 回答 1

1

我很抱歉成为坏消息的承担者。我将介绍您的三个可能的想法:

  • 自动完成将匹配关键字。律师通常称自己为大律师,所以你有通配符把你搞砸了。但是,如果有帮助的话,有一个可选的类型参数可以让您在其中按类型进行过滤。

  • 我实际上在这个上得到了相反的结果。使用以下参数:

query=etoi
types=bar
location=50,2
sensor=true
radius=20000

产生第一个结果:

{“几何”:{“位置”:{“纬度”:50.1089160,“lng”:1.831840}},“图标”:“ http://maps.gstatic.com/mapfiles/place_api/icons/bar-71。 png ", "id" : "3ec8233a732b4ee70dbb03034e2e20f84517763d", "name" : "L'Etoile du Jour", "rating" : 4.30, "reference" : "CnRuAAAAgOI6rLfSjaWyY_MRdK8zybHJOmAoqBLEtAgIxaZN5_UAS7WbWSYBukIro9ZCuiXSa9_HCOeHUmKPKkS6j9lxrET8cRX089azCKfvbR-lMFmzUb3Sd2VoWr02yPGJhXDBT7TjMpPPiuTWsZCY0Mcy9xIQHiE-o5v_EURALkxNElUPnRoUXcuht7Ov6k64DT1eA8-t9NR6-O8", "types" : [ “酒吧”、“餐厅”、“食物”、“机构”]、"vicinity" : "2 Chaussée Marcadé, Abbeville" },

所以我猜还有更多的事情在起作用,但是您必须就这个问题向 Google 询问或提供您的确切搜索参数(不包括键)供我查看。

  • 这是一个糟糕的主意,因为radarSearch 对您的信用余额的查询量是任何其他 API 的 5 倍,而且它不返回 ID,因此您无法交叉引用。这很可能是一个死胡同。
于 2013-04-25T15:08:57.000 回答