Добавление нескольких маркеров в FlutterAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Добавление нескольких маркеров в Flutter

Сообщение Anonymous »

Прежде чем я хочу предположить, что я был полным новичком в трепете.
Мой проект - это зарядная станция, используя API Google Maps, на карте есть 2 различных вида маркеров, 1 для зарядной станции, а другой для движущегося автомобиля, ранее у меня были зарядные станции индивидуально отображены в таком манере, а затем вызывали их в аскировании.

Код: Выделить всё

Widget build(BuildContext context) {
return Scaffold(
body: GoogleMap(
style: _themeformap,
mapType: MapType.normal,
initialCameraPosition: _kGooglePlex,
onMapCreated: (GoogleMapController controller) {
_controller.complete(controller);
},

markers: //{
// Marker(
//   markerId: const MarkerId(''),
//   icon: iconStation,
//   position: ev01,
// ),
// Marker(
//   markerId: const MarkerId(''),
//   icon: iconStation,
//   position: ev02,
// ),
// Marker(
//   markerId: const MarkerId(''),
//   icon: iconStation,
//   position: ev03,
// ),
// Marker(
//   markerId: const MarkerId(''),
//   icon: iconStation,
//   position: ev04,
// ),
// Marker(
//   markerId: const MarkerId(''),
//   icon: iconStation,
//   position: ev05,
// ),
//},

)
< /code>
Первоначально они не были комментариями, но после учебного пособия, чтобы автомобильный маркер двигаться с изменением местоположения, я должен добавить, что я должен добавить рядом с этим < /p>
markers: //{
usersCarArr.values.toSet(),
< /code>
с функцией, потому что это что -то вроде этого < /p>
  void updateOtherCarLocation(Map obj) {
usersCarArr[obj["uuid"].toString()] = Marker(
markerId: MarkerId(obj["uuid"].toString()),
position: LatLng(
double.tryParse(obj["lat"].toString()) ?? 0.0,
double.tryParse(obj["long"].toString()) ?? 0.0,
),
icon: iconCar,
rotation: double.tryParse(obj["degree"].toString()) ?? 0.0,
anchor: const Offset(0.5, 0.5),
);

if (mounted) {
setState(() {});
}
}

void apiCarJoin() {
ServiceCall.post(
{
"uuid": ServiceCall.userUUID,
"lat": currentPosition.latitude.toString(),
"long": currentPosition.longitude.toString(),
"degree": LocationManager.shared.carDegree.toString(),
"socket_id": SocketManager.shared.socket?.id ?? "",
},
SVKey.svCarJoin,
(responseObj) async {
if (responseObj[KKey.status] == "1") {
(responseObj[KKey.payload] as Map? ?? {}).forEach((key, value) {
usersCarArr[key.toString()] = Marker(
markerId: MarkerId(key.toString()),
position: LatLng(
double.tryParse(value["lat"].toString()) ?? 0.0,
double.tryParse(value["long"].toString()) ?? 0.0,
),
icon: iconCar,
rotation: double.tryParse(value["degree"].toString()) ?? 0.0,
anchor: const Offset(0.5, 0.5),
);
});

if (mounted) {
setState(() {});
}
} else {
debugPrint(responseObj[KKey.message] as String? ?? MSG.fail);
}
},
(error) async {
debugPrint(error.toString());
},
);
}
И независимо от того, что я не могу в течение жизни, чтобы я мог сосуществовать их обоих, это должно быть одно или другое, но я абсолютно должен, чтобы они оба появились вместе

Подробнее здесь: https://stackoverflow.com/questions/796 ... in-flutter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»