私はosmdroidに取り組んでおり、別のマップフレームワークで行っていた非常に単純なことをしようとしていますが、OSMdroidでそれを行う方法が見つかりません。マップ上のどこか、GeoPointにマーカーを配置したいと思います。これまでは簡単です。しかし、私はまた、マーカー写真の中心が前述のジオポイント上にあることを望んでいます。私のコードでは、現在、ジオポイントは画像の左下隅にあります。
どうやってするか?
OK、見つけました。だから私は誰かが同じ問題を抱えている場合に備えて私の質問に答えています。
私は最初にあなたのアイデアのウッドストックを試しましたが、boundCenterメソッドを見つけることができませんでした。
したがって、GeoPointをドローアブルの中心にするには、次のようにする必要があります。
overlayItem.setMarker(YourDrawable);
overlayItem.setMarkerHotspot(HotspotPlace.CENTER);
Markerクラスを使用している場合は、以下のコードを使用することをお勧めします...
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));