将标记中心设置为GeoPoint

时间:2012-04-26 14:39:57

标签: android marker osmdroid

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

怎么做?

3 个答案:

答案 0 :(得分:10)

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

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

因此,为了使GeoPoint成为drawable的中心,您只需要这样做:

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

答案 1 :(得分:0)

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

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

super(boundCenter(defaultMarker));

答案 2 :(得分:0)

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

Marker marker = new Marker(map);
marker.setAnchor((float)0.5, (float)0.5); // center icon to geo pint