不了解com.google.android.maps.Overlay的drawAt()方法

不了解com.google.android.maps.Overlay的drawAt()方法,android,google-maps,overlay,Android,Google Maps,Overlay,试图在android程序中创建谷歌地图覆盖。在我的覆盖层的绘制方法中,我有两种添加pin的方法。其中一个有效,另一个无效。不幸的是,一个不工作的也是唯一一个有能力添加阴影!有什么帮助吗 @Override public void draw(android.graphics.Canvas canvas, MapView mapView, boolean shadow) { Point po = mapView.getProjection().toPixels(mapVie

试图在android程序中创建谷歌地图覆盖。在我的覆盖层的绘制方法中,我有两种添加pin的方法。其中一个有效,另一个无效。不幸的是,一个不工作的也是唯一一个有能力添加阴影!有什么帮助吗

@Override
public void draw(android.graphics.Canvas canvas, MapView mapView,
        boolean shadow) {

    Point po = mapView.getProjection().toPixels(mapView.getMapCenter(),
            null);

    // This does _not_ work, but I would really like it to!
    drawAt(canvas, mapView.getResources().getDrawable(R.drawable.map_marker_v),
           po.x, po.y, false);

    // This does work, but only does half the job
    canvas.drawBitmap(BitmapFactory.decodeResource(mapView.getResources(),
            R.drawable.map_marker_v), po.x, po.y, null);


}

编辑:固定类型

乍一看,没有什么能让我明白是什么原因导致您的pin无法提取。但是,我可能已经找到了一个暂时的解决办法

看着谷歌,我发现一个用户发布了他们版本的覆盖图,可以添加一个图标和一个阴影。这可能就是你想要的


希望这能有所帮助。

我认为您的问题可能只是您没有在
drawAt()中设置可绘制的边界。您可以使用手动设置边界,也可以使用ItemizeOverlay的便利方法或


我相信第二种方法之所以有效,是因为对于解码的位图,您不必指定可绘制的边界。

您能准确解释“不起作用”的含义吗?您是否在logcat窗口中收到任何错误消息?你的应用程序崩溃了吗?它不会画画吗?安东尼,当然!它根本不吸引人。logcat中没有任何类型的错误消息,但应用程序不会崩溃!其实我也想过要这么做哈哈