我是android新手,需要帮助。我得到了加油站的经度和纬度。1.如果用户访问加油站,必须填写加油站的名称,该名称将以经度和经度存储。2.假设用户访问了10个加油站。现在,如果他访问了加油站,他已经访问了加油站,并将名称存储在数据库中。3.应用程序应该向他显示经纬度范围为10米的加油站名称。
我很困惑,我不知道该怎么办。我可以得到最新和最长的,并可以存储在数据库中的名称。但是不知道如何获取10米范围内的名字。
发布于 2015-01-30 03:16:55
如果我理解你的问题,你已经储存了加油站的所有信息。
您可以使用静态函数
Location.distanceBetween(lat1, lon1, lat2, lon2, resultDistance)
在一个循环中,检查存储的哪些加油站与您当前的经度和纬度之间的距离为10米。只需比较resultDistance,看看它是否小于或等于10。
根据Android文档:
计算两个位置之间的近似距离(以米为单位),以及它们之间最短路径的初始和最终方位角(可选)。距离和方向角是使用WGS84椭球体定义的。
计算出的距离存储在结果中。如果结果的长度为2或更长,则初始方向角存储在results1中。如果结果的长度为3或更长,则最终方位角存储在results2中。
希望这能有所帮助
https://stackoverflow.com/questions/28221988
复制相似问题