Android 在MapFragment上正确设置圆的绘制动画
我正在制作一个应用程序,它应该允许用户在地图上画一个圆圈 我已经使用了问题的答案,允许用户使用这个触摸监听器拖出一个大小可变的圆圈:Android 在MapFragment上正确设置圆的绘制动画,android,mapfragment,Android,Mapfragment,我正在制作一个应用程序,它应该允许用户在地图上画一个圆圈 我已经使用了问题的答案,允许用户使用这个触摸监听器拖出一个大小可变的圆圈: public void setupListeners(){ frameLayout.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) {
public void setupListeners(){
frameLayout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
float x = event.getX();
float y = event.getY();
int x_co = Math.round(x);
int y_co = Math.round(y);
Projection projection = map.getProjection();
Point x_y_points = new Point(x_co, y_co);
LatLng latLng = map.getProjection().fromScreenLocation(x_y_points);
double latitude = latLng.latitude;
double longitude = latLng.longitude;
int eventaction = event.getAction();
switch (eventaction) {
case MotionEvent.ACTION_DOWN:
Log.d("dero", "Started drawing marker at: "+latLng.toString());
mStartDraw = latLng;
break;
case MotionEvent.ACTION_MOVE:
//Log.d("dero", "Finger moved to: "+latLng.toString());
// finger moves on the screen
float[] distRes = new float[1];
Location.distanceBetween(mStartDraw.latitude, mStartDraw.longitude, latLng.latitude, latLng.longitude, distRes);
map.clear();
drawMusicMarker(mStartDraw, distRes[0]);
break;
case MotionEvent.ACTION_UP:
Log.d("dero", "Circle finished at: "+latLng.toString());
mStartDraw = null;
mMapMovable = true;
return true;
}
return !mMapMovable;
}
});
这相当不错,我可以随时在地图上拖出圆圈。但是,因为我必须打电话。清除每次用户手指移动时,圆圈在绘制时疯狂闪烁。是否有一种方法可以在不使用填充颜色的情况下正确设置圆的动画。是否清除?显然,如果使用填充颜色,则地图上的圆会出现问题 我发现制作动画的最好方法是抓取通过将圆添加到地图中返回的圆对象,并更改其半径,并且仅在拖动完成后填充它