【问题标题】:Draw a polygon overlay on google maps in android在 android 的谷歌地图上绘制多边形叠加层
【发布时间】:2012-04-24 12:21:16
【问题描述】:

我解析了一个 KML 文件,并且能够从中提取经度和纬度数据 现在的问题是,我试图在我的 android 应用程序中使用这些数据绘制一个多边形,但是每当我尝试这样做时,什么都没有改变,并且我得到了运行谷歌地图时打开的默认地图。 我已经尝试了许多代码,这些代码在stackoverflow上给出了正确的答案,其中给出了相同的地理点也没有出现......有没有人知道可能是什么问题? 这是我尝试了其中的代码但它不起作用的链接 Drawing a line/path on Google Maps

提前致谢

 public void draw(Canvas canvas, MapView mapv, boolean shadow){
        super.draw(canvas, mapv, shadow);

        Paint   mPaint = new Paint();
        mPaint.setDither(true);
        mPaint.setColor(Color.RED);
        mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
        mPaint.setStrokeJoin(Paint.Join.ROUND);
        mPaint.setStrokeCap(Paint.Cap.ROUND);
        mPaint.setStrokeWidth(2);

        GeoPoint gP1 = new GeoPoint(19240000,-99120000);
        GeoPoint gP2 = new GeoPoint(37423157, -122085008);

        Point p1 = new Point();
        Point p2 = new Point();
        Path path = new Path();

        projection.toPixels(gP1, p1);
        projection.toPixels(gP2, p2);

        path.moveTo(p2.x, p2.y);
        path.lineTo(p1.x,p1.y);

        canvas.drawPath(path, mPaint);
    }

【问题讨论】:

    标签: android google-maps overlay kml


    【解决方案1】:

    你是否正确地覆盖了“draw()”方法?是否有任何 super() 丢失,或者你没有在给定的画布参数上绘制?

    【讨论】:

    • 我添加了draw方法给你看,不知道我觉得里面的一切都有意义
    • 尝试记录 p1 和 p2 的值,以确保您绘制的内容在屏幕边界内。如果是这样,那么您设置地图和叠加层的方式可能有问题。这些知识应该可以帮助您找到正确的方向。
    • 谢谢,但请原谅我的问题,因为我是 android 新手,我怎么知道我的屏幕边界?
    • 不是答案,而是评论
    猜你喜欢
    • 1970-01-01
    • 2012-09-12
    • 1970-01-01
    • 2012-05-31
    • 2020-06-28
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    相关资源
    最近更新 更多