我正在创建一个应用程序,要求从用户当前位置显示最近的超市。
我已经看到了与此问题类似的问题,答案差异很大。目前,我可以在特定位置显示地图,上面有一个标记。
找到并展示最近的超市的最佳方式是什么?
我已经读过反向地理编码位置可以给出地址。但是,查看超市附近所有地址的最佳方法是什么?我可以使用HTTP连接到从我的位置在给定半径内搜索的数据库,然后使用某种叠加来显示它们吗?
我已阅读了大量的教程,但大多数只展示了显示地图的基本知识......放置了当前位置的标记.......然后获得了纬度/长位置。
如果有人知道有任何教程可以展示我想要做的事情那就太棒了!
答案 0 :(得分:4)
Google商家信息系统有一个适合您需求的RESTful API。从本质上讲,你只需传入你的lat&长位置,一个与您想要找到的关键字(健身房,餐馆等)以及您想要搜索的半径。
您必须注册api密钥,但这非常简单。以下是文档:https://developers.google.com/places/documentation/
答案 1 :(得分:0)
您是否拥有自己的超市数据库?如果是这样,并且在插入时将它们地理编码为lat / long,那么在设定半径内获取它们应该是微不足道的数学,并使用基本示例来设置标记。
如果您没有自己的数据库,首先需要从某些网络服务中提取POI,并且要受到它可能存在的怪癖的影响。
答案 2 :(得分:0)
你应该拥有所有超市的某种数据库。如果不这样做,您可以使用Google Geocoding API,Foursquare API或something else。这些记录可以存储在HashMap
或SQlite
数据库中。
浏览这些位置并计算超市到用户位置的距离(可以使用lat/long distance完成)。这可以从客户端或服务器端完成(假设您有自己的服务器)。到达所有超市的距离后,只需选择最近的n
并在地图上显示。