繁体   English   中英

带有折线的自定义Google Maps标记

[英]Custom Google maps marker with polyline

我想在我的Google地图上用折线连接两个标记。 这是我的代码:

mMap.addMarker(new MarkerOptions()
            .position(new LatLng(0, 0))
            .title("Pos")
            .icon(BitmapDescriptorFactory.fromResource(R.drawable.point)));

mMap.addPolyline(new PolylineOptions()
            .add(new LatLng(0,0), new LatLng(20,20))
            .width(5)
            .color(Color.rgb(255, 161, 74)));

折线有效,但是使用我的自定义标记,我在线条和标记之间留有边距。

在此处输入图片说明

我想删除此边距。 我怎样才能做到这一点 ?

谢谢 :)

问题是默认情况下,标记的锚点位于图像底部的中心。 如果仔细查看自定义标记的位置,您会注意到它们不在您设置的纬度/经度中心,而是在所设置的位置上方。

如果将锚点设置为0.5,则0.5将获得所需的效果。

这是文档中的信息,也可以在这里找到

public void setAnchor(浮动锚U,浮动锚V)

设置标记的锚点。

锚点指定图标图像中锚定到地球表面上标记位置的点。

在连续空间[0.0,1.0] x [0.0,1.0]中指定锚点,其中(0,0)是图像的左上角,而(1,1)是右下角。 W x H图像中的锚点是(W + 1)x(H +1)网格中最接近的离散网格点,它是通过缩放然后舍入获得的。 例如,在4 x 2图像中,锚点(0.7,0.6)解析为(3,1)处的网格点。

 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----+-----+
 |     |     |   X |     |   (U, V) = (0.7, 0.6)
 |     |     |     |     |
 *-----+-----+-----+-----*

 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----X-----+   (X, Y) = (3, 1)
 |     |     |     |     |
 |     |     |     |     |
 *-----+-----+-----+-----*

参数anchorU u坐标,作为图像宽度的比率(在[0,1]范围内)anchorV v坐标,作为图像高度的比率(在[0,1]范围内) )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM