Как добавить полилинии в приложение Google Map во Флаттере? - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть приложение карты, которое я создаю во Флаттере, и я хочу добавить карту кампуса, которая в конечном итоге будет наложена на удаленный файл kml. В первых случаях я просто хотел показать что-то на карте, поэтому я взял некоторые координаты из этого файла kml и добавил их в список.

List<LatLng> building = [
    LatLng(-2.2320211911239767, 53.475459515730925),
    LatLng(-2.231763699058547, 53.47504046853617),
    LatLng(-2.231605784002795, 53.47507219654),
    LatLng(-2.2317965561189794, 53.47536812388608),
    LatLng(-2.2317697340288305, 53.47537251389184),
    LatLng(-2.231845506433501, 53.475498626591325),
  ];

У меня есть набор маркеров типа и набор полилинии типа

final Set<Marker> _residences = {};
final Set<Polyline> _campusOverlay = {};

У меня есть этот код в моем методе _onMapCreated

setState(() {
      //Show Sample Building Marker
      /* _residences.add(
        Marker(
          markerId: MarkerId('Building'),
          position: _userLocation,
          infoWindow: InfoWindow(
              title: 'This is the title', snippet: 'This is a snippet'),
          icon: BitmapDescriptor.defaultMarker,
        ),
      );*/

      _campusOverlay.add(
        Polyline(
          polylineId: PolylineId('Building'),
          visible: true,
          points: building,
          width: 2,
          color: Colors.red,
        ),
      );
    });

В моем В виджет GoogleMap я добавил свойства маркеров и полилиний.

GoogleMap(
      onMapCreated: _onMapCreated,
      polylines: _campusOverlay,
      markers: _residences,
      ...
      ...

Маркер (закомментированный atm) отображается без проблем, а полилиния - нет. Я видел несколько статей с этим кодом, и у меня нет ошибок сборки, поэтому я не понимаю, почему ничего не отображается.

Я что-то упускаю из этого, что-то действительно очевидное?

[ РЕДАКТИРОВАТЬ] -> Добавлен скриншот. Координаты были добавлены в Google Maps (правильно), и это было ожидаемо.

enter image description here

1 Ответ

0 голосов
/ 04 февраля 2020

Проблема была не в коде, а в координатах. Я взял их из удаленного файла KML, к которому у меня есть доступ. Ниже приведен пример.

-2.2346792602577352,53.46763821573774,0

Я ограничил карту своим городом, и эти координаты находятся в центре Индийского океана. Кажется, это правильное решение.

53.46763821573774, -2.2346792602577352

Что я не могу понять, так это то, как файл KML показывает наложение в правильном месте в данный момент. Не окончательный ответ на мою проблему, так как я хочу прочитать этот удаленный файл KML и отобразить наложение, но на данный момент это ответ для того, что я хотел сделать.

...