我需要实现位置搜索和按位置搜索(最好的例子是booking.com或airbnb)
简而言之:
我认为,这是一个相当标准的问题,但令我羞愧的是我不知道如何实现这个(我的应用程序基于 Java、Spring、MySQL、Angular)。
首先,我考虑使用 Google Places API 来完成 1. 任务:在 UI 上输入城市名称,接收匹配城市的列表,获取每个项目的名称、纬度和经度,保存它。但我不完全知道如何解决按聚合位置(例如按国家/地区)搜索项目。使用坐标解决了多语言支持问题。但是 Places API 返回的国家坐标是否正确(我认为不正确)?MySQL 空间索引够用吗?
或者我可能应该为每个城市编写分层名称,例如巴黎-法兰西岛-法国并按 LIKE 搜索?但这种情况下如何高效支持多种语言呢?
或者我可能应该组成 ids paris_id + Ile de france id + france id的分层链?
可能我需要保留自己的位置数据库(例如基于 GeoNames),而不是使用 Google API?
欢迎任何如何有效解决我的问题的建议!