0

我正在寻找一种简单的方法来在 android 的 Google 地图活动上绘制小图标。没什么特别的,我只是想把经纬度和其他一些属性放在地图上的适当位置上作为一个可点击的小图标。单击时,它会在屏幕上显示一些其他数据,但首先,我需要一种将它们绘制到地图上的方法。

4

1 回答 1

1

看看 Overlay 和 ItemizedOverlay 类。看来 ItemizedOverlay 符合您的要求。是使用它的小教程。在 Overlay 上,您可以绘制更复杂的形状 - 只需用您的覆盖它的 draw() 方法。例如:

public class Road extends Overlay {
//some your code...

@Override public void draw(Canvas canvas, MapView mapView, boolean shadow) { drawPath(mapView, canvas); }

private void drawPath(MapView mv, Canvas canvas) {
    int x1 = -1;  
    int y1 = -1;
    int x2 = -1;
    int y2 = -1;

    Point point = new Point();

    for (int i=0; i < list.size(); i++) {
        mv.getProjection().toPixels(list.get(i), point);
        x2 = point.x;
        y2 = point.y;

        if (i > 0) {
            canvas.drawLine(x1, y1, x2, y2, paint);
        }

        x1 = x2;
        y1 = y2;
    }

}

于 2012-09-17T07:16:24.743 回答