Google maps api 3 如何在初次单击标记后使用带颤振的谷歌地图更新InfoWindowText?
用户在android设备上的Flitter应用程序上点击谷歌地图上的标记 如预期,信息窗口出现 用户点击信息窗口,什么也没发生 预计会看到标题和剪报更新 我尝试了多种版本和代码Google maps api 3 如何在初次单击标记后使用带颤振的谷歌地图更新InfoWindowText?,google-maps-api-3,flutter,infowindow,Google Maps Api 3,Flutter,Infowindow,用户在android设备上的Flitter应用程序上点击谷歌地图上的标记 如预期,信息窗口出现 用户点击信息窗口,什么也没发生 预计会看到标题和剪报更新 我尝试了多种版本和代码 mapController.onInfoWindowTapped.add((marker) { _launchURL(data[i]["urlmember"]); // options print(marker.id.toString()); print(d
mapController.onInfoWindowTapped.add((marker) {
_launchURL(data[i]["urlmember"]);
// options
print(marker.id.toString());
print(data[i]["urlmember"]);
MarkerOptions( infoWindowText: InfoWindowText("counseling","find us on second service"));
);
预期的结果是infowindow显示新标题并剪掉下面的代码片段位于文件“place_marker.dart”中flift Google Maps包()中的示例应用程序中:
void _updateSelectedMarker(MarkerOptions changes) {
controller.updateMarker(_selectedMarker, changes);
}
void _onMarkerTapped(Marker marker) {
if (_selectedMarker != null) {
_updateSelectedMarker(
const MarkerOptions(icon: BitmapDescriptor.defaultMarker),
);
}
setState(() {
_selectedMarker = marker;
});
_updateSelectedMarker(
MarkerOptions(
icon: BitmapDescriptor.defaultMarkerWithHue(
BitmapDescriptor.hueGreen,
),
),
);
}
我相信,按照当前的设置方式,您可以单击与预先存在的标记关联的信息窗口,并触发创建另一个没有“位置”的标记(即标记对象所需的LatLng值),但具有信息窗口文本属性。这就解释了为什么当你点击信息窗口时什么也没有发生;它本质上是创建一个标记,并将其放置在任何地方;这意味着也没有任何地方可以显示相应的infoWindow文本
我相信您希望实现的逻辑是:当用户单击infoWindow时,它应该触发对已经存在的标记的更新。为了实现这一点,除了使用OnInfo WindowTapped而不是onMarkerTapped之外,您可以实现与我上面共享的代码片段类似的东西 下面的代码片段位于文件“place_marker.dart”中flift Google Maps包()中的示例应用程序中:
void _updateSelectedMarker(MarkerOptions changes) {
controller.updateMarker(_selectedMarker, changes);
}
void _onMarkerTapped(Marker marker) {
if (_selectedMarker != null) {
_updateSelectedMarker(
const MarkerOptions(icon: BitmapDescriptor.defaultMarker),
);
}
setState(() {
_selectedMarker = marker;
});
_updateSelectedMarker(
MarkerOptions(
icon: BitmapDescriptor.defaultMarkerWithHue(
BitmapDescriptor.hueGreen,
),
),
);
}
我相信,按照当前的设置方式,您可以单击与预先存在的标记关联的信息窗口,并触发创建另一个没有“位置”的标记(即标记对象所需的LatLng值),但具有信息窗口文本属性。这就解释了为什么当你点击信息窗口时什么也没有发生;它本质上是创建一个标记,并将其放置在任何地方;这意味着也没有任何地方可以显示相应的infoWindow文本
我相信您希望实现的逻辑是:当用户单击infoWindow时,它应该触发对已经存在的标记的更新。为了实现这一点,除了使用OnInfo WindowTapped而不是onMarkerTapped之外,您可以实现与我上面共享的代码片段类似的东西