限制拖动标记外半径google maps v2

时间:2013-11-30 02:40:40

标签: android google-maps-android-api-2

如何让标记在特定边界内拖动而不在其外?请帮助我,我非常感谢任何帮助。谢谢你。

1 个答案:

答案 0 :(得分:2)

每次拖动Marker时都使用OnMarkerDragListener来获取事件。

假设您的边界在LatLong对象或Circle对象中有.radius(boundRadius)onMarkerDrag (Marker marker)方法内使用marker.getPosition()获取当前位置。很少有人会测试标记是否在你想要的边界内就可以了。一旦离开边界,使用marker.setDraggable(false);使标记不可拖动。确保在调用true或其他任何地方时重置为onMarkerDragEnd (Marker marker)

使用Circle.getCenter()和半径中心的简单添加和划分,您可以快速找到西南和东北坐标,并制作LatLongBounds对象,您可以使用该对象找到用户所在的位置是使用latLongBounder.contains(userLocation)

在圈内

希望这会给你一些想法。我希望我有更多的时间给你实际的代码,但我认为这就足够了。