我需要在某个给定位置绘制一些半径的圆,可以将其拖动到地图上的其他某个点 我可以像这样画圆圈
mMap.addCircle(new CircleOptions().center(circleLocation).radius(10).strokeColor(Color.RED).fillColor(Color.RED));
现在我需要在地图上拖动这个圆圈,这样当我点击这个圆形地图时会被锁定并且在移动我的手指时,这个圆圈应该在圆圈上移动而不是自己的地图
提前致谢!!!
答案 0 :(得分:1)
我不知道如何处理形状,但另一种方法是使用标记。它没有确切的结果,因为标记被刷新到屏幕视图,而不是刷新到地图,但它确实内置了拖动支持。您需要创建一个圆形图像。
map.addMarker(new MarkerOptions()
.position(MELBOURNE)
.title("Melbourne")
.draggable(true)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.circle)));
答案 1 :(得分:1)
View
SupportMapFragment
OnTouchListener
添加到此View
Projection
的组合将x,y转换为LatLng
和Location.distanceBeetween
false
以提供处理事件的地图机会true
并保存相关变量Projection
根据初始和新x,y计算新中心答案 2 :(得分:-1)
以下是在地图上方绘制圆圈的代码,
CircleOptions circleOptions = new CircleOptions()
.center(new LatLng(37.4, -122.1))
.radius(1000)); // In meters
// Get back the mutable Circle
Circle circle = myMap.addCircle(circleOptions);
GoogleMap没有触控侦听器,因此您必须覆盖onTouchEvent以使MapFragment的父视图拖动您的圆圈。