我需要在某个给定位置绘制一定半径的圆,可以将其拖到地图上的其他点我可以像这样画圆
mMap.addCircle(new CircleOptions().center(circleLocation).radius(10).strokeColor(Color.RED).fillColor(Color.RED));
现在我需要在地图上拖动这个圆圈,这样当我点击这个圆圈时,地图会被锁定并且在移动我的手指时,这个圆圈应该在圆圈上移动而不是地图本身
提前致谢!!!
我需要在某个给定位置绘制一定半径的圆,可以将其拖到地图上的其他点我可以像这样画圆
mMap.addCircle(new CircleOptions().center(circleLocation).radius(10).strokeColor(Color.RED).fillColor(Color.RED));
现在我需要在地图上拖动这个圆圈,这样当我点击这个圆圈时,地图会被锁定并且在移动我的手指时,这个圆圈应该在圆圈上移动而不是地图本身
提前致谢!!!
View
在上面添加一个SupportMapFragment
OnTouchListener
到此View
Projection
将 x,y 转换为LatLng
andLocation.distanceBeetween
false
给地图机会处理事件true
并保存相关变量Projection
基于初始和新 x,y 计算新中心我不知道如何处理形状,但一种选择是使用标记。它没有确切的结果,因为标记与屏幕视图齐平而不是与地图齐平,但它确实具有内置的拖动支持。您需要创建一个圆形图像。
map.addMarker(new MarkerOptions()
.position(MELBOURNE)
.title("Melbourne")
.draggable(true)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.circle)));
这是在地图上方绘制圆圈的代码,
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 没有触摸监听器,因此您必须为 MapFragment 的父视图覆盖 onTouchEvent 才能拖动您的圆圈。