谷歌地图api和跨区域城市搜索

时间:2014-03-26 08:52:49

标签: google-maps google-maps-api-3 internationalization geocoding yahoo-maps

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

问题是,Google搜索是本地化的,因此当用户在不同的区域设置中查找同一个城市时,他们在我的数据库中找不到任何匹配项。

我的解决方案是将每个城市映射到一个代码(很像雅虎的WOEID)并将其存储到我的数据库中,这样跨区域搜索就可以了,但我在谷歌地图api参考中找不到类似的东西

那么,有没有办法继续使用谷歌地图,我是否必须切换到雅虎,或者是否有其他解决方案跨越区域搜索我不知道?

谢谢 达里奥

1 个答案:

答案 0 :(得分:0)

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

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

  2. reference 包含一个令牌,可用于将来查询详细信息服务。此令牌可能与请求中对Details服务使用的引用不同。 建议定期更新Google商店的存储参考。虽然此标记唯一标识地点,但反之则不然:地方可能有许多有效的参考标记

  3. Documentation reference

    修改

      

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