Добавление всплывающего на Google Maps флаттера маркеров - PullRequest
0 голосов
/ 05 марта 2020

как добавить всплывающее окно для отображения сведений о конкретном маркере на картах Google при нажатии или нажатии с помощью флаттера / дротика. пытался использовать функцию onTap, но дает мне ошибки любые идеи о том, как я могу добиться этого

populateHospitals() {
    Hospitals = []; //array to obtain individual hospital data
    Firestore.instance.collection('markers').getDocuments().then((docs) {
      if (docs.documents.isNotEmpty) {
        setState(() {
          hospitalsToggle = true;
        });
        for (int i = 0; i < docs.documents.length; ++i) {
          Hospitals.add(docs.documents[i].data);
          initMarker(docs.documents[i].data);
        }
      }
    });
  }

  initMarker(hospitals) {
    mapController.clearMarkers().then((val) {
      mapController.addMarker(MarkerOptions(
          position:
              LatLng(hospital['location'].latitude, hospital['location'].longitude),// draws the markers of the hospitals
              draggable: false, // disables dragging of the marker
              consumeTapEvents: true,
              infoWindowText: InfoWindowText(hospital['hospitalname'], 'hospital'), //displays the hospitals name when the icon is clicked

              ));


    });
  }

1 Ответ

0 голосов
/ 05 марта 2020

Использовать следующие Подробнее в исходном коде на https://github.com/flutter/plugins/blob/master/packages/google_maps_flutter/google_maps_flutter/example/lib/place_marker.dart

 List <Marker> markers = new List<Marker>();

//Run the loop and add locations to marker 


markers.add(
            Marker(
                markerId: <SOMEID>,
                position: LatLng(hospital['location'].latitude, hospital['location'].longitude),


                onTap: () {
                  //this is what you're looking for!
                  print(hospital['hospitalname']);


                }
            )

        );

//Now add this to your map.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...