android – 在地图上创建自定义叠加层

我想在 Android中复制Google地图的这个功能

您可以在地图上看到,圆圈描绘了用户选择的范围.

在我的应用程序中,我还希望拖动器驻留在圆的周边,可以拖动以重新定义半径.

如果有人能告诉我如何在地图上绘制自定义可绘制叠加和2D图形,我可以自己做其他事情.

谢谢!

完整的申请表可以在this link到达

解决方法

好吧,我试着在我自己做的事情,并把这个代码来获得上述效果
public class MarkerOverlay extends Overlay {

    Geocoder geoCoder = null;

    public MarkerOverlay() {
        super();
    }


    @Override
    public boolean onTap(GeoPoint geoPoint,MapView mapView){
        selectedLatitude = geoPoint.getLatitudeE6(); 
        selectedLongitude = geoPoint.getLongitudeE6();
        return super.onTap(geoPoint,mapView);
    }

    @Override
    public void draw(Canvas canvas,MapView mapV,boolean shadow){

        if(shadow){
            Projection projection = mapV.getProjection();
            Point pt = new Point();
            projection.toPixels(globalGeoPoint,pt);

            GeoPoint newGeos = new GeoPoint(selectedLat+(100),selectedLong); // adjust your radius accordingly
            Point pt2 = new Point();
            projection.toPixels(newGeos,pt2);
            float circleRadius = Math.abs(pt2.y-pt.y);

            Paint circlePaint = new Paint(Paint.ANTI_ALIAS_FLAG);

            circlePaint.setColor(0x30000000);
            circlePaint.setStyle(Style.FILL_AND_stroke);
            canvas.drawCircle((float)pt.x,(float)pt.y,circleRadius,circlePaint);

            circlePaint.setColor(0x99000000);
            circlePaint.setStyle(Style.stroke);
            canvas.drawCircle((float)pt.x,circlePaint);

            Bitmap markerBitmap = BitmapFactory.decodeResource(getApplicationContext().getResources(),R.drawable.pin);
            canvas.drawBitmap(markerBitmap,pt.x,pt.y-markerBitmap.getHeight(),null);

            super.draw(canvas,mapV,shadow);
        }
    }
}

这让我有以下效果

使用的计算可能不是您想要的.它仅用于演示目的.实际距离/距离计算也需要使用轴承并具有一些特定的公式.如果您对此有任何疑问,请与我们联系.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...