0

我想创建一个显示地图的应用程序,在这张地图的顶部,道路和兴趣点将被绘制为线条和椭圆形。这些线条和椭圆将附有监听器,因此用户可以拖动它们或删除它们。

我正在使用带有 osmdroid 的 openstreetmaps,但它似乎与 Google Maps 完全相同。

我正在考虑扩展 OverlayItem 类来表示兴趣点或道路。Overlay 类将被扩展并包含这些扩展的 OverlayItems 的 ArrayList。

Overlay 类的 draw 方法将被覆盖,并将绘制 arraylist 中包含的所有 OverlayItem。

然后将此 Overlay 类添加到 MapView。

我不确定这是否可行,因为很多教程都使用 ItemizedOverlay。这到底是什么,我应该使用它吗?

谢谢

4

2 回答 2

1

AnItemizedOverlay是一个扩展类Overlay(如您所愿)并且大部分已完成(您仍然需要扩展它并填充特定部分),以便Drawables在指定的地图中添加列表Geopoints(使用列表OverlayItem)。它还onTap()为添加的项目实现。

因此,底线ItemizedOverlay是一个预编码的课程,旨在实现您的目标。

限制

它可能不是所有叠加层的最佳解决方案......

最好使用您自己的 cals 扩展覆盖的示例:

  • 如果您POI需要Drawable在运行时需要旋转的(即指向变化方向的箭头)
  • 如果要绘制没有标记的路线
  • 如果您想绘制一些无法从可绘制对象中轻松制作的东西

问候。

于 2012-12-02T19:29:49.857 回答
0

AnItemizedOverlay基本上可以满足您的要求:它包含OverlayItem要绘制的对象的逐项列表。

于 2012-12-02T16:58:19.343 回答