我想创建一个显示地图的应用程序,在此地图之上,道路和兴趣点将被绘制为线条和椭圆形。这些线条和椭圆形将附加听众,以便用户可以拖动它们或删除它们。
我正在使用osmdroid的openstreetmaps,但它似乎与谷歌地图完全一样。
我正在考虑扩展OverlayItem类来表示兴趣点或道路。 Overlay类将被扩展并包含这些扩展OverlayItems的ArrayList。
Overlay类的draw方法将被覆盖,并将绘制arraylist中包含的所有OverlayItem。
然后将此Overlay类添加到MapView。
我不确定这是否可行,因为很多教程都使用了ItemizedOverlay。究竟是什么,我应该使用它吗?
由于
答案 0 :(得分:1)
ItemizedOverlay
是一个扩展Overlay
(正如您想要做的)并且大部分已完成的类(您仍然需要扩展它并填充特定部分)以添加{{ 1}}到指定Drawables
的地图(使用Geopoints
列表)。它还为添加的项目实施OverlayItem
。
所以底线onTap()
是一个预先编码的类,旨在瞄准您的目标。
<强>限制强>
它可能不是所有叠加层的最佳解决方案......
使用自己的calss扩展叠加层的示例:
ItemizedOverlay
需要POI
需要旋转。{li>
运行时(即指向变化方向的箭头)问候。
答案 1 :(得分:0)
ItemizedOverlay
基本上就是你所说的:它包含了要绘制的OverlayItem
个对象的逐项列表。