谷歌地图,根据纬度/经度值绘制标记

时间:2010-08-20 12:17:41

标签: java android google-maps

我有以下代码在指定的x / y屏幕坐标处绘制标记。像这样...

            public boolean draw(Canvas canvas, MapView mapView, 
    boolean shadow, long when) 
    {
        super.draw(canvas, mapView, shadow);                   

        //---translate the GeoPoint to screen pixels---
        Point screenPts = new Point();
        mapView.getProjection().toPixels(p, screenPts);

        //---add the marker---
        Bitmap bmp = BitmapFactory.decodeResource(
            getResources(), R.drawable.marker);            
        canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null);  
        System.out.println("X: " + screenPts.x + "Y: " + screenPts.y);
        return true;
    }

但API中是否存在基于lat / lng绘制点的已知方法?

1 个答案:

答案 0 :(得分:0)

一种解决方案是使用点(小圆圈)创建位图图像,并将此图像用作标记。然后你可以保持你的代码不变。

您可以使用任何Drawable作为标记。这篇关于Drawable Resources的文章可以帮助您找到点标记的最佳拟合实现。