2
這forEach
作品就好爲什麼地圖不能正常工作,但是foreach是?
var newMarkers = new List<Marker>();
providers.forEach((p) {
var marker = markerFrom(p);
newMarkers.add(marker);
print("got one");
});
_markers = newMarkers;
但這map
並放置在相同的位置作爲forEach
時都不曾呼籲:
_markers = providers.map((p) => markerFrom(p));
此外,這是markerFrom
方法:
Marker markerFrom(FoodProvider provider) {
var marker = new Marker(new MarkerOptions()
..map = _map
..position = new LatLng(provider.latitude, provider.longitude)
..title = provider.name
..icon = 'http://maps.google.com/mapfiles/ms/icons/red-dot.png'
);
var infoWindow = new InfoWindow(new InfoWindowOptions()..content = marker.title);
marker.onClick.listen((e) {
infoWindow.open(_map, marker);
});
return marker;
}
你有任何錯誤訊息?如果你想操作'List','map'會產生'Iterable',所以你必須做'_markers = providers.map((p)=> markerFrom(p))。toList() ;',但這取決於你想用'_markers'做什麼 –