中心标记图标(Android)

中心标记图标(Android),android,google-maps,marker,Android,Google Maps,Marker,我意识到,将图标设置在标记上,它会将LatLng中心定位在可绘制图标的底部。我这样设置标记: BitmapDescriptor icon = BitmapDescriptorFactory.fromResource(R.drawable.mi_posicion_marker); mMarkerMiPosicion = mMap.addMarker(new MarkerOptions().position(new LatLng(location.getLatitude(), location.ge

我意识到,将图标设置在标记上,它会将LatLng中心定位在可绘制图标的底部。我这样设置标记:

BitmapDescriptor icon = BitmapDescriptorFactory.fromResource(R.drawable.mi_posicion_marker);
mMarkerMiPosicion = mMap.addMarker(new MarkerOptions().position(new LatLng(location.getLatitude(), location.getLongitude())).title("I am here!").icon(icono));
如何将标记位置“居中”在可绘制图标的中心?

您必须使用“锚定”参数来选择位置: ,浮动)

指定定位点位于标记图像中的特定点

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

定位点在连续空间[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)处的栅格点

在提供的链接中,有一个ASCII图像,可以很好地解释如何管理它。 针对您的具体问题

BitmapDescriptor icon = BitmapDescriptorFactory.fromResource(R.drawable.mi_posicion_marker);
mMarkerMiPosicion = mMap.addMarker(
    new MarkerOptions().position(new LatLng(location.getLatitude(), location.getLongitude()))
    .title("I am here!").icon(icono).anchor(0.5f,0.5f));

杰出的锚是关键。非常感谢!!只需要一点修正:锚定(浮动,浮动),然后你放双打:)