将标记中心设置为GeoPoint

3
我正在处理osmdroid相关的内容,并尝试完成一些简单的操作。在另一个地图框架中,我曾经做过类似的事情,但是在OSMdroid上无法找到如何实现这个操作。 我想在地图某个地方放置一个标记,即一个GeoPoint。这很容易实现。但是,我也希望标记图片的中心位于该GeoPoint处。目前我的代码中,GeoPoint位于图像的左下角。 请问如何实现这个功能?
3个回答

9

好的,我找到了答案。因此,我会回答我的问题,以防其他人遇到同样的问题。

我先尝试了你的想法woodstock,但是我无法找到boundCenter方法。

为了使GeoPoint成为可绘制对象的中心,您只需要这样做:

overlayItem.setMarker(YourDrawable);
overlayItem.setMarkerHotspot(HotspotPlace.CENTER);

2
如果您正在使用Marker类,则最好使用以下代码...
Marker marker = new Marker(map);
marker.setAnchor((float)0.5, (float)0.5); // center icon to geo pint

0

我以前没有使用过osmdroid,但是通常可以通过设置标记的边界来实现这一点。

例如,在使用Google的MapView时,您可以使用以下代码指定您希望标记的中心位于给定的GeoPoint上:

super(boundCenter(defaultMarker));

2
好的,大家,我找到了。所以为了帮助可能有相同问题的人,我来回答一下自己的问题。首先尝试了您的想法woodstock,但是我没有找到boundCenter方法。因此,为了使GeoPoint成为可绘制图形的中心,您只需要这样做:overlayItem.setMarker(YourDrawable); overlayItem.setMarkerHotspot(HotspotPlace.CENTER);谢谢大家。 - Cyrille Telmer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接