0

我有一个网站,人们可以在不同的城市购买/销售服务。 我使用谷歌地图api v3,自动完成和搜索框元素,让他们选择一个城市,将其存储在数据库中,并在购买时针对数据库进行搜索。谷歌地图api和跨区域城市搜索

问题是,谷歌搜索是本地化的,所以当用户在不同的语言环境中查找同一个城市时,他们在我的数据库中找不到任何匹配项。

我的解决方案是将每个城市映射到一个代码(很像雅虎的WOEID)并将其存储到我的数据库中,这样交叉语言环境搜索就可以了,但我在google maps api中找不到像这样的东西参考。

那么,有没有一种方法来继续使用谷歌地图,我必须切换到雅虎,还是有另一种解决方案来跨区域搜索我不知道?

谢谢 达里奥

+0

使用Places库,我想你会得到一个ID以及你搜索的地方。你检查了吗? – MrUpsidown

+0

你是对的,谢谢。我使用的是地理编码服务,这种服务很奇怪,但地点是要走的路。非常感谢 – Dariomarciano

回答

0

如果使用Places library,搜索将返回一个具有两个属性,可以帮助您有一个PlaceResult对象:

  1. ID包含一个唯一的标识符表示这个地方。此标识符可能不会用于检索有关此地点的信息,但可用于合并有关此地点的数据,并验证地点在单独搜索中的身份。 由于ID有时可能会发生变化,因此建议您将Place的存储ID与稍后的详细信息请求中返回的ID进行比较,并在必要时更新

  2. 参考包含一个令牌,可用于将来查询细节服务。该令牌可能与向详细信息服务请求中使用的引用不同。 建议将地点的存储参考定期更新。虽然此标记唯一标识了该地点,但反过来却不正确:地点可能有许多有效的参考标记

Documentation reference

编辑

注:idreference字段被弃用为2014年6月24日,他们被新地方ID取代,可用于reference specific places的唯一标识符。 Google Maps JavaScript API中的Places服务当前会在所有响应中返回一个place_id,并在Place详细信息请求中接受placeId。在2015年6月24日之后不久,该服务将停止返回idreference字段的回复。一段时间后,该服务将不再接受请求中的reference。我们建议您尽快更新代码,以便使用新的地点ID而不是idreference

+0

,谢谢,这与糟糕的不同,这可能会在时间上发生变化,但我想没有其他办法可以去了。 – Dariomarciano

+0

不幸的是,ID和引用现在都被弃用了https://developers.google.com/places/documentation/search – user151496

+0

您是否已阅读完该笔记?编辑回答参考。 – MrUpsidown