我正在为地图添加不同的标记......
Drawable drawable = app1.getResources().getDrawable(R.drawable.test);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
OverlayItem overlayitem2 = new OverlayItem(mark, "Test", "t");
overlayitem2.setMarker(drawable);
app1.mapOverlay.addOverlay(overlayitem2);
app1.mapOverlays.add(app1.mapOverlay);
有效,但阴影处于错误的位置。
答案 0 :(得分:11)
我用这个:
int w = drawable.getIntrinsicWidth();
int h = drawable.getIntrinsicHeight();
drawable.setBounds(-w / 2, -h, w / 2, 0);
答案 1 :(得分:5)
我知道这已经回答了一段时间,但我想我会指出ItemizedOverlay类中有一个名为:boundCenterBottom(Drawable)的方法,它执行setBounds部分。还有一个boundCenter(Drawable)方法。
答案 2 :(得分:0)
只需在ItemizedOverlay扩展类中添加这些行。
实施例
public class My_MapOverlay extends ItemizedOverlay<OverlayItem> {
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
super.draw(canvas, mapView, false);
}
public My_MapOverlay(Drawable arg0) {
super(arg0);
}
}