有没有人设法在Android Beta 0.9中使用ItemizedOverlays 我无法使其正常工作,但是我不确定是否做错了什么或该功能尚不可用。

我一直在尝试使用ItemizedOverlayOverlayItem类。 它们的预期目的是模拟地图标记(如Google Maps Mashups中所示),但是在将它们显示在地图上时遇到了问题。

我可以使用类似的技术添加自己的自定义叠加层,只是ItemizedOverlays不起作用。

一旦实现了自己的ItemizedOverlay (并覆盖了createItem ),创建类的新实例似乎就可以了(我可以从中提取OverlayItems ),但是将其添加到地图的Overlay列表中并不会使它看起来像应该的那样。

这是我用来将ItemizedOverlay类作为Overlay添加到MapView

// Add the ItemizedOverlay to the Map
private void addItemizedOverlay() {
  Resources r = getResources();
  MapView mapView = (MapView)findViewById(R.id.mymapview);
  List<Overlay> overlays = mapView.getOverlays();

  MyItemizedOverlay markers = new MyItemizedOverlay(r.getDrawable(R.drawable.icon));
  overlays.add(markers);

  OverlayItem oi = markers.getItem(0);
  markers.setFocus(oi);
  mapView.postInvalidate();
}

其中MyItemizedOverlay定义为:

public class MyItemizedOverlay extends ItemizedOverlay<OverlayItem> {
  public MyItemizedOverlay(Drawable defaultMarker) {
    super(defaultMarker);
    populate();
  }

  @Override
  protected OverlayItem createItem(int index) {
    Double lat = (index+37.422006)*1E6;
    Double lng = -122.084095*1E6;
    GeoPoint point = new GeoPoint(lat.intValue(), lng.intValue());

    OverlayItem oi = new OverlayItem(point, "Marker", "Marker Text");
    return oi;
  }

  @Override
  public int size() {
    return 5;
  } 
}

===============>>#1 票数:46 已采纳

有没有人设法在Android Beta 0.9中使用ItemizedOverlays 我无法使其正常工作,但是我不确定是否做错了什么或该功能尚不可用。

我一直在尝试使用ItemizedOverlayOverlayItem类。 它们的预期目的是模拟地图标记(如Google Maps Mashups中所示),但是在将它们显示在地图上时遇到了问题。

我可以使用类似的技术添加自己的自定义叠加层,只是ItemizedOverlays不起作用。

一旦实现了自己的ItemizedOverlay (并覆盖了createItem ),创建类的新实例似乎就可以了(我可以从中提取OverlayItems ),但是将其添加到地图的Overlay列表中并不会使它看起来像应该的那样。

这是我用来将ItemizedOverlay类作为Overlay添加到MapView

// Add the ItemizedOverlay to the Map
private void addItemizedOverlay() {
  Resources r = getResources();
  MapView mapView = (MapView)findViewById(R.id.mymapview);
  List<Overlay> overlays = mapView.getOverlays();

  MyItemizedOverlay markers = new MyItemizedOverlay(r.getDrawable(R.drawable.icon));
  overlays.add(markers);

  OverlayItem oi = markers.getItem(0);
  markers.setFocus(oi);
  mapView.postInvalidate();
}

其中MyItemizedOverlay定义为:

public class MyItemizedOverlay extends ItemizedOverlay<OverlayItem> {
  public MyItemizedOverlay(Drawable defaultMarker) {
    super(defaultMarker);
    populate();
  }

  @Override
  protected OverlayItem createItem(int index) {
    Double lat = (index+37.422006)*1E6;
    Double lng = -122.084095*1E6;
    GeoPoint point = new GeoPoint(lat.intValue(), lng.intValue());

    OverlayItem oi = new OverlayItem(point, "Marker", "Marker Text");
    return oi;
  }

  @Override
  public int size() {
    return 5;
  } 
}

===============>>#2 票数:1

有没有人设法在Android Beta 0.9中使用ItemizedOverlays 我无法使其正常工作,但是我不确定是否做错了什么或该功能尚不可用。

我一直在尝试使用ItemizedOverlayOverlayItem类。 它们的预期目的是模拟地图标记(如Google Maps Mashups中所示),但是在将它们显示在地图上时遇到了问题。

我可以使用类似的技术添加自己的自定义叠加层,只是ItemizedOverlays不起作用。

一旦实现了自己的ItemizedOverlay (并覆盖了createItem ),创建类的新实例似乎就可以了(我可以从中提取OverlayItems ),但是将其添加到地图的Overlay列表中并不会使它看起来像应该的那样。

这是我用来将ItemizedOverlay类作为Overlay添加到MapView

// Add the ItemizedOverlay to the Map
private void addItemizedOverlay() {
  Resources r = getResources();
  MapView mapView = (MapView)findViewById(R.id.mymapview);
  List<Overlay> overlays = mapView.getOverlays();

  MyItemizedOverlay markers = new MyItemizedOverlay(r.getDrawable(R.drawable.icon));
  overlays.add(markers);

  OverlayItem oi = markers.getItem(0);
  markers.setFocus(oi);
  mapView.postInvalidate();
}

其中MyItemizedOverlay定义为:

public class MyItemizedOverlay extends ItemizedOverlay<OverlayItem> {
  public MyItemizedOverlay(Drawable defaultMarker) {
    super(defaultMarker);
    populate();
  }

  @Override
  protected OverlayItem createItem(int index) {
    Double lat = (index+37.422006)*1E6;
    Double lng = -122.084095*1E6;
    GeoPoint point = new GeoPoint(lat.intValue(), lng.intValue());

    OverlayItem oi = new OverlayItem(point, "Marker", "Marker Text");
    return oi;
  }

  @Override
  public int size() {
    return 5;
  } 
}

  ask by Reto Meier translate from so

未解决问题?本站智能推荐:

1回复

使用Overlay连接从Android中的数据库获取的GPS坐标

我目前正在构建一个应用程序,该应用程序允许用户跟踪其手机在Google Map上的位置。 目前,当调用onLocationChanged()方法时,应用程序将当前的GPS经度和纬度存储在数据库中,并将animateTo()方法调用到当前位置。 使用SDK 1.5,如何将这些点与使用叠加层
1回复

Android-如何在另一个覆盖的onTap操作中显示另一个覆盖

我正在使用MapView在画布上显示一些多边形(区域)作为叠加层。 我扩展了Overlay类,现在想实现onTap方法。 用户点击这些区域之一后,应显示另一个覆盖图。 我想将此叠加层的布局定义为常规XML布局,而不仅仅是将其膨胀并显示。 我已经看过一个名为android-mapvie
2回复

Android-仅在具有MapView的单个Activity上有许多OutOfMemoryError异常

我的用户收到了很多OutOfMemoryError报告,每个报告都来自同一个Activity,其中包含MapView。 我认为这是一个孤立的异常,仅在我的应用程序中只有一个位置,而且我无法弄清楚问题出在哪里。 谁能给我一些指示为什么会这样吗? 我已删除了该问题的一些不需要的代码,因此如
2回复

Android,将叠加层图标添加到onLocationChange导致崩溃

以下代码,当我取消注释'list etc'并添加叠加层到列表时,它崩溃。 我可以在“ oncreate”中添加一个覆盖图标,它不会崩溃,但是将其添加到“ onlocationchanged”时会崩溃 }
1回复

Android - 在MapView上绘制路径作为叠加层

我有一个扩展Overlay和实现Overlay.Snappable的类。 我已经覆盖了它的draw方法: 如您所见,我在地图上制作了一个点列表,我希望它们形成一个多边形。 现在,问题在于当我将绘制样式设置为FILL或FILL_AND_STROKE时,屏幕上没有显示任何内容,但是当
1回复

在Android中放大MapActivity(ItemizedOverlay)中的点组

如果希望所有POI在地图中可见,则需要动态调整两个参数: 地图中心 缩放步骤 我想知道MapActivity是否已内置这种行为? 如果没有,您能提供给我示例代码吗?
2回复

在MapView上使用Layout作为OverlayItem吗?

是否可以使用XML中定义的布局作为OverlayItem来添加到MapView中,而不是仅添加一个可绘制对象? 我在地图上绘制了几个叠加层,但它们只是单个图像,我现在要放置更复杂的对象而不是简单的可绘制对象的叠加层。 我计划绘制一个内部带有动态图像的标记(只是一个朋友定位器类型的东西),
1回复

Android OverlayItem不显示消息

那就是我的代码: 当我运行该应用程序时,我可以看到上面有我的物品的地图,但是单击它时什么也没有发生。 我希望在其中带有“ Test Hello”的消息框。 我想我忘了一些东西。 谢谢你的帮助。
2回复

Android MapView:ItemizedOverlay的zoomToSpan方法出现问题

我正在使用以下代码进行缩放以查看MapView上的所有点: 它起作用,除了只考虑点而不考虑overlays的问题 ,因此给了我以下结果: 反正有处理这个吗? 我在想手动从getLatSpanE6()/ getLonSpanE6()中添加/减去一些纬度/经度,但这很脏,我不知道应
1回复

Android MapView Overlay是否始终使OverlayItem保持选中状态?

我想将ItemizedOverlay添加到始终保留一个OverlayItem作为选定项的MapView中。 我通过使用带有两个不同标记可绘制对象的StateListDrawable来表明这一点。 但是现在,每当我在地图上轻按但不点击标记时,最后选择的项目都会被取消选择。 但是我一直想保