自定义图标方向锚点颤动谷歌地图



我使用此代码为Flutter Google地图标记创建自定义图标

createMarker(){
final MarkerId markerId = getMarkerId();
markers[markerId] = Marker(
rotation: driverLocation.orientation,
markerId: markerId,
icon: BitmapDescriptor.fromBytes(await getBytesFromAsset('assets/icons/taxi-icon.png', 50);),
position: position.toLatLng(),
);
}
Future<Uint8List> getBytesFromAsset(String path, int width) async {
ByteData data = await rootBundle.load(path);
ui.Codec codec = await ui.instantiateImageCodec(data.buffer.asUint8List(), targetWidth: width);
ui.FrameInfo fi = await codec.getNextFrame();
return (await fi.image.toByteData(format: ui.ImageByteFormat.png)).buffer.asUint8List();
}

它工作正常,但我玩弄了方向,我发现标记的锚点似乎在图像的顶部边缘,而不是在其中心。如何将锚点更改为图像的中心?

尝试将锚点参数添加到标记。

Marker(
...
anchor: const Offset(0.5, 0.5)
);

违约:

anchor: const Offset(0.5, 1.0)

要将锚点设置为图标中心:

anchor: const Offset(0.5, 0.5)

要将锚点设置为图标的左上角:

anchor: const Offset(0.0, 0.0)

要将锚点设置为图标的右下角:

anchor: const Offset(1.0, 1.0)

相关内容

  • 没有找到相关文章

最新更新