【问题标题】:MapView Marker shadowMapView 标记阴影
【发布时间】:2010-08-18 18:56:29
【问题描述】:

我正在向我的地图添加不同的标记...

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

可行,但阴影位置错误。

【问题讨论】:

  • 我遇到了完全相同的问题,甚至使用了相同的标记图像源 :),Mathias 的回答很准确。

标签: android android-mapview marker


【解决方案1】:

我用这个:

int w = drawable.getIntrinsicWidth();
int h = drawable.getIntrinsicHeight();
drawable.setBounds(-w / 2, -h, w / 2, 0);

【讨论】:

    【解决方案2】:

    我知道这个问题已经回答了一段时间,但我想我会指出 ItemizedOverlay 类中有一个方法称为:boundCenterBottom(Drawable),它执行 setBounds 部分。还有一个 boundCenter(Drawable) 方法。

    【讨论】:

      【解决方案3】:

      只需在 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);
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多