【发布时间】:2020-11-26 12:19:12
【问题描述】:
我已经创建了一个 React Native 应用程序,并且想要一个用户可以指定他们居住在哪个城市的功能,以便可以向其他用户显示它。它应该是一个文本输入,用户可以在其中搜索城市并获得可供选择的选项的下拉列表。然后,最好将城市保存为我们数据库中的 ID,该 ID 可以为所有用户转换回城市的本地化版本。假设有人住在英国,应该说哥德堡,如果你住在瑞典,应该说哥德堡。我查看了以下选项,但没有一个最适合我们:
- Google Places Autocomplete API 用于获取城市、将地点 ID 保存在我们的数据库中并对其进行反向地理编码。这对我们来说变得非常昂贵,因为它是一个社交应用,每个用户在启动应用时会执行大约 20 个地理编码请求
- 创建一个包含城市名称的数据库。这不是很可扩展,因为您需要为每个要支持的新国家/地区添加新条目
- 让用户手动输入他们的城市。这很容易出错,因为用户可以写任何他们想要的内容
我很乐意收到一些有关如何解决此问题的建议。
【问题讨论】:
-
不是让每个用户选择一个城市并将该城市存储为文本,而是将用户选择的城市保存为带有坐标的位置?这样,当其他用户对他们的位置进行反向地理编码搜索时,它不会以他们喜欢的语言呈现吗?
-
很遗憾,Google 不允许您存储除地点 ID 之外的任何数据
-
你检查过这个api吗? geodb-cities-api.wirefreethought.com 显然他们支持多种语言(以多种语言显示结果(当前为英语、法语、德语、意大利语、葡萄牙语、俄语和西班牙语)
标签: javascript react-native google-places-api google-geocoding-api