是的,google maps API已更改,并且Marker API是基于小部件的,不再基于控制器。
由CHANGELOG.md
“发生了巨大的变化。将Marker API更改为基于小部件,它是基于控制器的。还更改了示例应用程序以解决该问题。”
我从github应用示例中复制了一些我认为对您很重要的代码
Map<MarkerId, Marker> markers = <MarkerId, Marker>{}; // CLASS MEMBER, MAP OF MARKSvoid _add() { var markerIdVal = MyWayToGenerateId(); final MarkerId markerId = MarkerId(markerIdVal); // creating a new MARKER final Marker marker = Marker( markerId: markerId, position: LatLng( center.latitude + sin(_markerIdCounter * pi / 6.0) / 20.0, center.longitude + cos(_markerIdCounter * pi / 6.0) / 20.0, ), infoWindow: InfoWindow(title: markerIdVal, snippet: '*'), onTap: () { _onMarkerTapped(markerId); }, ); setState(() { // adding a new marker to map markers[markerId] = marker; });}GoogleMap( onMapCreated: _onMapCreated, initialCameraPosition: const CameraPosition( target: LatLng(-33.852, 151.211), zoom: 11.0, ), // TODO(iskakaushik): Remove this when collection literals makes it to stable. // https://github.com/flutter/flutter/issues/28312 // ignore: prefer_collection_literals markers: Set<Marker>.of(markers.values), // YOUR MARKS IN MAP)
我建议您在这里查看示例应用程序。有更新到新的API。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)