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位置传递给MarkerOptionsand PolylineOptions,也会存在某种偏移。

作为额外信息,我在 Nexus 7 中得到了这种行为。

谢谢

编辑:标记图标的大头针位置是默认的,所以它底部的中心 默认标记图像

编辑:不是位图创建问题。如果我使用canvas.drawColor,这就是我得到的(不同的尺寸,因为现在我使用的是 Nexus 10)

绘图颜色不起作用

4

1 回答 1

4

这里的问题是,默认情况下, 的引脚位置Marker在图像的底部中心。

您将不得不摆弄anchor(float, float)和/或确保锐边是底部中心的最后一个像素(下面没有透明像素)。

于 2013-07-18T14:21:35.127 回答