Android 在I'时显示通知;我离得够近了

Android 在I'时显示通知;我离得够近了,android,google-maps,geolocation,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.443416000

我开始创建一个应用程序,它将显示通知,当用户将在半径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>


我该怎么做,怎么指定一个半径为lat和long?

我猜你在寻找一个公式来计算两个lat+long坐标之间的距离?检查此问题:

如果要查找两个不同位置(即用户位置和一个shps位置)之间的距离,可以使用以下代码:

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公里进行比较,并显示通知,Android为此具有特定功能:


只需设置接近圆的中心(必须等于您的店铺坐标)及其半径(1公里)。Android将完成剩下的工作。无需计算任何内容。

可能有助于是和否。是的,多次使用addProximityAlert方法设置多个接近报警点。不,addProximityAlert方法本身一次只能接受一个点。