在我的应用程序中,我需要在Mapview上叠加像图像一样的地图。这将隐藏用户的真实地图。当用户缩放地图时,叠加图像也应该缩放。我尝试使用Mapoverlay方法,用于在地图中添加引脚,但它与我的要求不匹配。
任何想法都会有很大的帮助。
提前致谢!
答案 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);