如何更新标记位置 google maps flutter
How to update marker position google maps flutter
我想使用自定义标记作为用户位置。我正在收听位置事件,每次移动我都想在此标记上设置新的 lat/lon 。但是我没有看到任何更新标记位置的选项。我怎样才能做到这一点?我试过删除当前标记并添加一个新标记,但是我不想要丑陋的闪光效果。
final marker = Marker(
markerId: MarkerId('1'),
position: LatLng(_latitude, _longitude),
icon: await customIcon()
);
setState(() {
_markers.add(marker);
});
_location.onLocationChanged.listen((event) async {
//here I want to update the marker lat lng with new event.latitude and event.longitude
});
尝试以下方法
_location.onLocationChanged.listen((event) async {
final newMarker = Marker(
markerId: MarkerId('1'),
position: LatLng(event.latitude, event.longitude),
icon: await customIcon()
);
final oldMarkerIndex = _markers.indexWhere((marker) => marker.markerId == MarkerId('1'));
if(oldMarkerIndex >= 0) { // If it exists
setState(() {
_markers[oldMarkerIndex] = newMarker;
});
}
});
我想使用自定义标记作为用户位置。我正在收听位置事件,每次移动我都想在此标记上设置新的 lat/lon 。但是我没有看到任何更新标记位置的选项。我怎样才能做到这一点?我试过删除当前标记并添加一个新标记,但是我不想要丑陋的闪光效果。
final marker = Marker(
markerId: MarkerId('1'),
position: LatLng(_latitude, _longitude),
icon: await customIcon()
);
setState(() {
_markers.add(marker);
});
_location.onLocationChanged.listen((event) async {
//here I want to update the marker lat lng with new event.latitude and event.longitude
});
尝试以下方法
_location.onLocationChanged.listen((event) async {
final newMarker = Marker(
markerId: MarkerId('1'),
position: LatLng(event.latitude, event.longitude),
icon: await customIcon()
);
final oldMarkerIndex = _markers.indexWhere((marker) => marker.markerId == MarkerId('1'));
if(oldMarkerIndex >= 0) { // If it exists
setState(() {
_markers[oldMarkerIndex] = newMarker;
});
}
});