【发布时间】:2019-12-24 12:34:15
【问题描述】:
我正在尝试更新标记的坐标(Google 地图抖动)
我正在像这样“创建”标记。
Map<MarkerId, Marker> markers = <MarkerId, Marker>{};
Uint8List resizedMarkerImageBytesTemp = await convertUserImage(
"imgurl");
MarkerId id = MarkerId(uid);
Marker _marker = Marker(
markerId: id,
onTap: () {
print("tapped");
},
position: LatLng(lat, lng),
icon: BitmapDescriptor.fromBytes(resizedMarkerImageBytesTemp),
infoWindow: InfoWindow(title: 'myTitle'),
);
setState(() {
markers[id] = _marker;
});
更新标记坐标的最佳/最有效方法是什么?
谢谢!
更新:我尝试了以下方法。
MarkerId id = MarkerId(uid); //uid of the marker I want to update
markers[id].position.longitude = 3.12493;
然后我得到错误:
error: 'longitude' can't be used as a setter because it is final.
【问题讨论】:
-
你只有一个标记还是一个标记列表?
-
标记图,比如说 10 个,每个都有一个特定的唯一 ID
-
当我使用你的方法时,我的
GoogleMap(...)声明中出现错误:无法将参数类型“Map”分配给参数类型“Set ” .你能告诉我你是如何声明 GoogleMap() 的吗?将不胜感激(: -
我想通了:
markers.values.toSet()
标签: google-maps flutter dart