我认为我的问题与此处相同:
Flutter 在 Google 地图小部件中默认显示标记的 infoWindowText
但是,没有答案,除了指向另一个帖子的链接,这不是我想要做的。
当我的地图在我的应用程序中打开时,它会正确显示标记,但我还希望在打开时默认显示所有标签...
如此处的标记之一所示:
我正在创建这样的标记:
for (Location location in _locations) {
final locationMarker = Marker(
markerId: MarkerId(location.id),
position: LatLng(location.geoY, location.geoX),
infoWindow: InfoWindow(
title: location.name,
),
onTap: () => _onTap(location),
icon: _mapMarkers.icon(location.slug),
draggable: false);
markers.add(locationMarker);
}
然后地图是这样的:
Widget _map(Set<Marker> markers) => GoogleMap(
mapType: MapType.normal,
initialCameraPosition: CameraPosition(target: widget.mapCentre),
markers: markers,
...
onMapCreated: (controller) => _onMapCreated(controller, markers),
);
在 _onMapCreated 中,我尝试显示所有标签,但实际上只显示了标记列表中的最后一个:
_onMapCreated(GoogleMapController controller, Set<Marker> markers) {
if (mounted) {
setState(() {
_controller.complete(controller);
controller.setMapStyle(_mapStyle);
for (var marker in markers) {
controller.showMarkerInfoWindow(marker.markerId);
}
});
...
我在用着:
[{
"featureType": "poi",
"stylers": [
{
"visibility": "off"
}
]
}]
从地图中删除兴趣点,我希望我可以做类似的事情来默认显示标记标签,但到目前为止我在搜索谷歌时没有找到任何东西,或者还有另一种解决方案。