小编Vla*_*ich的帖子

如何实现位置搜索(以及按位置搜索物品)?

我需要实现位置搜索和按位置搜索(最好的例子是booking.comairbnb

简而言之:

  1. 用户可以创建一些与城市相关的项目(例如城市中的酒店),因此他们需要能够通过名称搜索城市,并将其放入项目中;
  2. 然后用户可以按城市、国家、地区、大陆等搜索创建的项目...例如巴黎的所有项目,或法国的所有项目,或欧洲的所有项目。
  3. 位置搜索应支持多种语言。

我认为,这是一个相当标准的问题,但令我羞愧的是我不知道如何实现这个(我的应用程序基于 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?

欢迎任何如何有效解决我的问题的建议!

java location geolocation google-places-api

5
推荐指数
1
解决办法
1954
查看次数

标签 统计

geolocation ×1

google-places-api ×1

java ×1

location ×1