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

试图在Android程序中制作谷歌地图叠加层.在我的叠加层绘制方法中,我有两种添加引脚的方法.其中一个有效,一个没有.不幸的是,那个不起作用的也是唯一一个能够添加阴影的人!有帮助吗?

@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);


}

编辑:固定类型

解决方法:

我认为你的问题可能只是你没有在drawAt()中设置drawable的边界.您可以使用Drawable.setBounds()手动设置边界,也可以使用ItemizedOverlay的便捷方法boundCenter()boundCenterBottom().

我相信第二种方法的工作原因是因为使用解码的Bitmap,您不必指定Drawable的边界.

上一篇:spark发行版笔记11


下一篇:Xilinx-PYNQ_Z2系列-学习笔记(11):自定义overlay