我开始创建一个应用程序,当用户离我的店铺1公里范围内时,该应用程序将显示通知。
我有xml文件,显示我的商店lat和日志:
<SHOPS>
<SHOP LON="19.456865000000000000" LAT="51.765639000000000000" CITY="90-423 Łódź" STR="ul. Piotrkowska 95" PHOTO=""/>
<SHOP LON="18.564883000000000000" LAT="54.443416000000000000" CITY="81-759 Sopot" STR="ul. Bohaterów Monte Casino 26" PHOTO=""/>
<SHOP LON="19.455248000000000000" LAT="51.770487000000000000" CITY="90-125 Łódź" STR="ul. Narutowicza 41" PHOTO=""/>
<SHOP LON="20.930370000000000000" LAT="52.241939000000000000" CITY="01-460 Warszawa" STR="ul. Górczewska 124" PHOTO=""/>
</SHOPS>
我该怎么做,如何指定纬度和长度的半径?
答案 0 :(得分:0)
我猜你在寻找一个计算两个lat +长坐标之间距离的公式?请检查此问题:Working with latitude/longitude values in Java
答案 1 :(得分:0)
如果要查找两个不同位置之间的距离(即用户位置和您的某个位置),可以使用以下代码:
Location shopLoc = new Location("");
shopLoc.setLatitude(shopLat); //get this value from your xml file
shopLoc.setLongitude(shopLon); //get this value from your xml file
Location userLoc = new Location("");
userLoc.setLatitude(userLat); //get this value from gps or other position device
userLoc.setLongitude(userLat); //get this value from gps or other position device
//Finaly get the distance with
float distance = userLoc.distanceTo(shopLocation)
现在您可以将距离与1公里进行比较并显示通知
答案 2 :(得分:0)
Android具有以下特定功能:
Android Proximity Alerts Tutorial addProximityAlert
只需设置接近圆的中心(必须等于商店的坐标)及其半径(1 Km)。 Android将完成其余的工作。无需计算任何东西。