我正在处理osmdroid相关的内容,并尝试完成一些简单的操作。在另一个地图框架中,我曾经做过类似的事情,但是在OSMdroid上无法找到如何实现这个操作。
我想在地图某个地方放置一个标记,即一个GeoPoint。这很容易实现。但是,我也希望标记图片的中心位于该GeoPoint处。目前我的代码中,GeoPoint位于图像的左下角。
请问如何实现这个功能?
好的,我找到了答案。因此,我会回答我的问题,以防其他人遇到同样的问题。
我先尝试了你的想法woodstock,但是我无法找到boundCenter方法。
为了使GeoPoint成为可绘制对象的中心,您只需要这样做:
overlayItem.setMarker(YourDrawable);
overlayItem.setMarkerHotspot(HotspotPlace.CENTER);
Marker marker = new Marker(map);
marker.setAnchor((float)0.5, (float)0.5); // center icon to geo pint
我以前没有使用过osmdroid,但是通常可以通过设置标记的边界来实现这一点。
例如,在使用Google的MapView时,您可以使用以下代码指定您希望标记的中心位于给定的GeoPoint上:
super(boundCenter(defaultMarker));
overlayItem.setMarker(YourDrawable); overlayItem.setMarkerHotspot(HotspotPlace.CENTER);
谢谢大家。 - Cyrille Telmer