0

我正在尝试使用 Google maps API v2 创建 android 应用程序并将覆盖放在包含位图的地图上。我使用 addGroundOverlay 方法将位图附加到叠加层。但是当新位置来自 LocationManager 时,我想修改位图(擦除某些内容并绘制其他内容)。有一个问题,因为根据规范,当我在叠加层上绘制位图时,我无法修改它。因此,我删除了叠加层并使用操纵的位图再次添加它:

public void draw(Bitmap modifiedBmp) {
    if (overlay != null) {
        overlay.remove();
    }

    BitmapDescriptor descriptor = BitmapDescriptorFactory.fromBitmap(modifiedBmp);
overlay = map.addGroundOverlay(new GroundOverlayOptions().image(descriptor).positionFromBounds(bounds).zIndex(100));

}

位图以前使用

p.setXfermode(new PorterDuffXfermode(Mode.CLEAR));

擦除位图的某些区域并绘制另一个区域

但是该解决方案的性能较弱,并且更糟糕的位图重新加载在地图上可见。有人可以指出该问题的更好解决方案吗?

4

1 回答 1

-3

试试这个代码

private void drawMarker() {

        if (googleMap != null) {
            googleMap.clear();

            double lati = 25.16828;
            double longi = 55.28818;
            LatLng dest = new LatLng(lati, longi);              

            MarkerOptions options = new MarkerOptions();
            options.position(dest);
            options.title("title here")
                    .snippet("")
                    .icon(BitmapDescriptorFactory
                            .fromResource(R.drawable.icon_blue));

            googleMap.addMarker(options);

        }       

}
于 2013-07-15T06:33:40.617 回答