0

この方法で同じマップにいくつかのマーカーとポリラインを描画しようとしています

    MarkerOptions options = new MarkerOptions();
    Marker marker;

    PolylineOptions polyLineOptions = new PolylineOptions();
    polyLineOptions.color(context.getResources().getColor(R.color.mm_red));

    if (route != null) {

        for(Entry entry : route.getEntries().getEntryList()){

            LatLng pos = new LatLng(entry.getGeolocation().getLatitude(), entry.getGeolocation().getLongitude());
            options.position(pos);
            polyLineOptions.add(pos);

            marker = mMap.addMarker(options.icon(BitmapDescriptorFactory.fromResource(R.drawable.im_map_marker_main_num)));
            marker.setVisible(true);

        }


    Polyline polyline = mMap.addPolyline(polyLineOptions);
    polyline.setVisible(true);

    }

しかし、ここで私が得た結果を見ることができます:

マーカーとポリラインの不一致

ご覧のとおり、 と の両方に同じ位置を渡しても、何らかのLatLngオフセットがあります。MarkerOptionsPolylineOptions

追加情報として、Nexus 7 でこの動作が発生します。

ありがとうございました

編集:マーカーアイコンのピンの位置はデフォルトのものであるため、その下側の中央 デフォルトのマーカー画像

編集:ビットマップ作成の問題ではありません。を使用するcanvas.drawColorと、これが得られます(現在Nexus 10を使用しているため、サイズが異なります)

ドローカラーが機能しない

4

1 に答える 1

4

ここでの問題は、デフォルトでは、ピンの位置がMarker画像の下部中央にあることです。

いじるanchor(float, float)必要があります。また、シャープなエッジが中央下部の最後のピクセルであることを確認する必要があります (下に透明なピクセルはありません)。

于 2013-07-18T14:21:35.127 に答える