如何在Android中移动Mapsforge层(标记)



我正在使用安卓版的Mapsforge 0.5。我在地图上添加了一些标记:

map.getLayerManager().getLayers().add(layer);

我正在尝试做的是更改现有图层的位置。我有一个对存储对象的引用,但没有任何方法可以移动标记。该职位只有一个吸物者

layer.getPosition() : LatLong

纬度和经度字段是最终:(我已经通过首先删除层然后再次添加它来解决问题,但这会导致一些额外的协调逻辑。有什么方法可以实际移动图层(标记)吗?

Mapsforge 将图层视为渲染图层、平铺图层、地图叠加层(如标记)等。

默认情况下,抽象类 Layer 定义返回 null 的getPosition()方法。

从它扩展的一些类(如 TileLayer)不会修改方法的行为。但是,某些层的扩展类确实会修改它。

对于地图叠加类型,Marker 类使用修改后的 getPosition() 方法从Layer扩展。私有字段Marker.this.latLong的价值甚至不是最终的。它接受通过Marker.setLatLong()方法对Marker.this.latLong的更改。

如果 Layer 对象确实是 Marker 的实例,则可以将该对象转换为 Marker

相关内容

  • 没有找到相关文章