[英]Find the location nearest to current location from an array of locations using Google Maps Places API
[英]Google Maps API, retrieving nearest places
我正在制作一个需要从用户当前位置显示最近的超市的应用程序。
我已经看到与此问题类似的问题,答案差异很大。 目前,我可以在特定位置显示地图,并在其上方标记。
查找和显示最近的超市的最佳方法是什么?
我已经读过,对位置进行反向地理编码可以给出地址。 但是,查看超市附近所有地址的最佳方法是什么? 我可以使用HTTP连接到一个数据库,该数据库在我的位置给定半径范围内进行搜索,然后使用某种叠加层进行显示吗?
我已经阅读了许多教程,但是大多数教程只显示了显示地图的基础知识……放置当前位置的标记……然后获取经纬度位置。
如果有人知道任何教程来展示我想在上面做些什么,那就太好了!
Google Places有一个RESTful API,可以满足您的需求。 本质上,您只需传递纬度和经度位置即可,该位置与您要查找的内容(健身房,餐厅等)和您要搜索的半径相对应。
您确实需要注册一个api密钥,但这确实很容易。 这是文档: https : //developers.google.com/places/documentation/
您有自己的超市数据库吗? 如果是这样,并且在插入时将它们地理编码为经/纬度,则要使它们在设定的半径范围内是简单的数学运算,并使用基本示例进行设置标记。
如果您没有自己的数据库,则首先需要从某些Web服务中提取POI,然后受其可能存在的怪癖的影响。
您应该具有所有超市的某种数据库。 如果您不这样做,例如可以使用Google Geocoding API , Foursquare API或其他方式 。 这些记录可以存储在HashMap
或SQlite
数据库中。
遍历这些位置并计算从超市到您的用户位置的距离(这可以通过经纬度完成)。 可以从客户端或服务器端完成此操作(假设您拥有自己的服务器)。 得到所有超市的距离后,只需选择最近的n
并将其显示在地图上。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.