3

我正在研究 osmdroid,并尝试做一些非常简单的事情,我曾经在另一个地图框架上做过,但我找不到如何在 OSMdroid 上做。我想在地图上的某个地方放置一个标记,在 GeoPoint 上。到此为止,这很容易。但我也希望标记图片的中心位于上述地理点上。使用我的代码,现在,地理点位于图像的左下角。

怎么做?

4

3 回答 3

9

好的,我找到了。所以我正在回答我的问题,以防有人遇到同样的问题。

我首先尝试了你的想法 woodstock,但我没有找到 boundCenter 方法。

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

overlayItem.setMarker(YourDrawable);
overlayItem.setMarkerHotspot(HotspotPlace.CENTER);
于 2012-04-27T07:20:20.363 回答
2

如果您使用的是 Marker 类,那么最好使用下面的代码...

Marker marker = new Marker(map);
marker.setAnchor((float)0.5, (float)0.5); // center icon to geo pint
于 2018-11-29T20:26:16.617 回答
0

I haven't used osmdroid before, but you can normally achieve this by setting the bounds of the marker.

For example, when using Google's MapView you would use the following code to specify that you want the center of the marker to be on the given GeoPoint:

super(boundCenter(defaultMarker));
于 2012-04-26T15:43:11.850 回答