我试图在新的google flutter map中迭代标记。
我用一个Web服务检索坐标数组,然后迭代元素,得到包含纬度和经度的索引。
for (int i = 0; i < list.length; i++) {
mapController.addMarker(MarkerOptions(position: list[0].values.elementAt(i)))));
}
和Map选项。
GoogleMapController mapController;
GoogleMap(
onMapCreated: (GoogleMapController mapController) {
mapController = mapController;
},
options: GoogleMapOptions(
mapType: MapType.satellite,
myLocationEnabled :true,
cameraPosition: CameraPosition(
target: LatLng(40.347022, -3.750381), zoom: 5.0),
),
),
我想mapController应该接受我放在for循环中的坐标,但它不起作用。
对空值调用了方法“addMarker”。
所以问题是,我如何使用google flutterMap包动态添加多个标记?
此外,我尝试了这个简单的代码和工程,所以错误是发生在添加标记。
GoogleMapController mapController;
GoogleMap(
onMapCreated: (GoogleMapController mapController) {
mapController = mapController;
mapController.addMarker(MarkerOptions(
position:LatLng(40.347022, -3.750381),
infoWindowText: InfoWindowText("Title", "Content"),
//icon:
));
mapController.addMarker(MarkerOptions(
position:LatLng(43.321871, -3.006887),
infoWindowText: InfoWindowText("Title", "Content"),
//icon:
));
},
options: GoogleMapOptions(
mapType: MapType.satellite,
myLocationEnabled :true,
cameraPosition: CameraPosition(
target: LatLng(40.347022, -3.750381), zoom: 5.0),
),
),
更新2
我找到了这个示例代码。这正是我想要的,但我不能重复这个代码,返回这个错误
https://github.com/gerryhigh/Flutter-Google-Maps-Demo/blob/master/lib/venues.dart
无此类方法错误:对空值调用了getter“className.”
4条答案
按热度按时间ghhkc1vu1#
我在主构建函数中调用了Google maps的一个示例,如下所示:
在“_onMapCreated”函数中,我有迭代器:
这对我有用
xlpyo6sf2#
在第一个例子中,
GoogleMapController
参数和你的局部变量有相同的名字,所以基本上,局部变量被遮蔽了,你给它自己赋函数参数值。重命名这两个变量中的一个应该可以解决这个问题。zphenhs43#
}
}
qc6wkl3g4#
库已更新:这就是我在Map上显示多个标记的方法。