我正在添加 removeMarker 和 addMarker 但它显示了这个 - 未为类“GoogleMapController”定义方法“addMarker”。 尝试将名称更正为现有方法的名称,或定义名为“addMarker”的方法。dart(undefined_method)
方法“MarkerOptions”没有为类“_GoogleMapsDemoState”定义。 尝试将名称更正为现有方法的名称,或定义名为 'MarkerOptions'.dart(undefined_method) 的方法 快速解决... 偷看问题
import 'package:location/location.dart';
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
// import 'package:map_view/map_view.dart';
class GoogleMapsDemo extends StatefulWidget {
@override
_GoogleMapsDemoState createState() => _GoogleMapsDemoState();
}
class _GoogleMapsDemoState extends State<GoogleMapsDemo> {
GoogleMapController mapController;
Location location = Location();
Marker marker;
@override
void initState() {
super.initState();
location.onLocationChanged().listen((location) async {
if (marker != null) {
mapController.removeMarker(marker);
}
marker = await mapController?.addMarker(MarkerOptions(
position: LatLng(location["latitude"], location["longitude"]),
));
mapController?.moveCamera(
CameraUpdate.newCameraPosition(
CameraPosition(
target: LatLng(
location["latitude"],
location["longitude"],
),
zoom: 20.0,
),
),
);
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: <Widget>[
Container(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
child: GoogleMap(
onMapCreated: (GoogleMapController controller) {
mapController = controller;
},
initialCameraPosition: CameraPosition(
target: const LatLng(45.521563, -122.677433),
zoom: 11.0,
),
myLocationButtonEnabled: true,
myLocationEnabled: true,
),
),
],
),
);
}
}
方法“addMarker”没有为类“GoogleMapController”定义。 尝试将名称更正为现有方法的名称,或定义一个名为 'addMarker'.dart(undefined_method) 的方法 方法“MarkerOptions”没有为类“_GoogleMapsDemoState”定义。 尝试将名称更正为现有方法的名称,或定义名为 'MarkerOptions'.dart(undefined_method) 的方法 快速解决... 偷看问题
最佳答案
如果我没有完全弄错的话,这篇文章应该对您有所帮助。 https://stackoverflow.com/a/55000503/11620670
似乎 flutter 团队改变了一些东西,Google map API 现在是基于 Widget 而不是基于 Controller 了。
查看来自 flutter 的文档和我发布的链接。我认为这应该可以解决您的问题,因为您在错误的一端寻找解决方案。
关于google-maps - 方法 'removeMarker' 和 'addMarker' 没有为类 'GoogleMapController' 定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56536481/