[英]How To Remove Nearest Map Marker Google Map API
我是stackoverflow的新手。 注意到它对很多人都有帮助,所以我想自己可以尝试一下。
我正在为Android开发一个项目。
要点是这样的:用户生成一个地图,该地图具有从设置的半径随机生成的标记,当前位置为原点。 然后,用户必须“收集”每个虚拟对象,此时游戏将结束并返回主菜单。 很简单的概念。
我的问题:如何根据用户的当前位置删除标记? 换句话说,如果用户与标记相距一定距离,我如何让标记对用户的位置做出反应,以便分别从地图上将其删除? 我在网上看了一下,发现该站点上有一些有关计算距离的内容,但与基于距离删除标记无关。
任何帮助表示赞赏。 同样,对我的礼节的批评也被接受; 我不熟悉在这里问问题的方式。
谢谢。
您应提供您试图寻求帮助的内容。 您是否已在地图上显示标记?
您需要注册位置更新,以使您的应用知道位置更改。 详细信息: http : //developer.android.com/training/location/receive-location-updates.html
每次提供位置更新时,都会触发一个名为onLocationChanged(Location userLocation)的方法。 您应该使用此信息进行距离计算。
遍历您的标记列表,并检查每个标记的距离。
这是一种从鸟瞰角度计算两个位置之间的距离的方法:
public float getDistance(double startLat, double startLong, double goalLat, double goalLong)
{
float[] resultArray = new float[1];
Location.distanceBetween(startLat, startLong, goalLat, goalLong, resultArray);
return resultArray[0];
}
您的标记对象具有remove()方法。 删除那些更接近用户当前位置的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.