当我足够接近时显示通知

时间:2012-09-28 12:38:10

标签: android google-maps geolocation

我开始创建一个应用程序,当用户离我的店铺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>

我该怎么做,如何指定纬度和长度的半径?

3 个答案:

答案 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将完成其余的工作。无需计算任何东西。