#flutter #google-maps #google-maps-markers
Вопрос:
У меня есть два списка в моем проекте, но на этой конкретной странице мне нужно будет извлечь данные из двух list
, чтобы отобразить все имеющиеся у меня маркеры. Я использую Firestore для сохранения LatLng
и другой информации. Причина, по которой я использую два list
, заключается в том, что оба данных взяты из разных коллекций. Или есть какой-либо другой способ сохранить все данные из обеих коллекций только в 1 list
?
Map<MarkerId, Marker>busmarkers = <MarkerId, Marker>{};
void initMarker(specify, specifyId) async{
var markerIdVal = specifyId;
final MarkerId markerId = MarkerId(markerIdVal);
final Marker marker = Marker(
markerId: markerId,
icon: BitmapDescriptor.fromAsset("assets/images/markerIconBus.png"),
position: LatLng(specify['location'].latitude, specify['location'].longitude),
onTap: openInfo,
);
setState(() {
busmarkers[markerId] = marker;
});
}
Future <void> getMarker() async{
Firestore.instance.collection('markers').snapshots().listen((myData) {
if(myData.documents.isNotEmpty){
for (int i = 0; i < myData.documents.length; i ){
initMarker(myData.documents[i].data, myData.documents[i].documentID);
}
}
});
setState(() {
});
}
Это первый список, который я получу LatLng
из marker
коллекции.
Firestore.instance
.collection('locations')
.snapshots()
.listen((driverLocation){
driverLocation.documents.forEach((dLocation){
latitudeD = dLocation.data['latitude'];
longitudeD = dLocation.data['longitude'];
busStop.add(
Marker(
markerId: MarkerId('driverLocation'),
draggable: false,
icon: BitmapDescriptor.fromAsset("assets/images/bus.png"),
onTap: () {
},
position: LatLng(latitudeD, longitudeD),
));
});
setState(() {
});
});
Это второй список, в котором я сохраню широту и долготу в busStop
списке.
Мы высоко ценим любую документацию или образец кода. Спасибо.
Комментарии:
1. пожалуйста, поделитесь некоторым кодом и изображениями вашей структуры данных Firestore, чтобы получить лучшие советы и отзывы.
2. извини тебя за это. Уже обновил свой вопрос. Спасибо.
3. Что находится внутри местоположения и маркеров?
4. действительно жаль, что ты снова обновил мой вопрос. Спасибо.
5. Поскольку вы храните данные LatLng в своем документе «Маркеры», разве это не сработало бы? Если вы можете хранить их там, нет необходимости в отдельном документе, содержащем только латлинг. А ты как думаешь?