在Android上的Google地图上加载虚假地图

时间:2011-11-16 09:28:47

标签: android google-maps overlay android-maps

在我的应用程序中,我需要在Mapview上叠加像图像一样的地图。这将隐藏用户的真实地图。当用户缩放地图时,叠加图像也应该缩放。我尝试使用Mapoverlay方法,用于在地图中添加引脚,但它与我的要求不匹配。

任何想法都会有很大的帮助。

提前致谢!

1 个答案:

答案 0 :(得分:1)

您需要创建自己的类,扩展ItemizedOverlay,在该类构造函数中,您可以将默认标记设置为您希望放置到地图上的图像。

像这样。

public class MyOverlay extends ItemizedOverlay {

Context mContext;



@Override
   public void draw(Canvas canvas, MapView mapView, boolean shadow) {
// TODO Auto-generated method stub
super.draw(canvas, mapView, shadow);


    }
@Override
protected OverlayItem createItem(int i) {
    // TODO Auto-generated method stub

    return mOverlays.get(i).overlayItem;
}

public void addOverlay(OverlayItem overlay, int businessId) {

    populate();
}



public MyOverlay(Drawable defaultMarker, Context context) {
    super(boundCenterBottom(defaultMarker));
    mContext = context;
}


@override
protected boolean onTap(int index) {

    return true;
}
}

在原始地图中,您需要执行以下操作才能使用叠加层。

List<Overlay> mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.myImage);
MyOverlay itemizedoverlay = new MyOverlay(drawable, context);
mapOverlays.add(itemizedoverlay);