google_maps_flutter v.0.5.13无法确定标记的onTap()事件中的当前标记

时间:2019-05-16 04:32:09

标签: google-maps plugins flutter

无法确定哪个标记用户在标记的onTapped事件内按下了

因此,我在onTap()事件中添加了9个标记,其中我通过传入markerId来调用私有方法。当_onMarkerTapped(markerId)被触发时(当用户点击任何标记时),我总是最终得到添加到标记集中的最后一个标记ID,即,我从未设法获取当前点击的标记的ID。

下面是我的代码段……

for (var campusData in Campuses.campusLocations) {
      campusDetails = json.decode(campusData);
      campus = Campus.fromJson(campusDetails);
      markerId = MarkerId(i.toString());
      mrkr = new Marker(
          markerId: markerId, // a string for marker unique id
          icon: BitmapDescriptor.fromAsset(
              'assets/wsu@2x.png'), // options for hues and custom imgs
          position:
              LatLng(campus.latitude, campus.longitude), // lat and long doubles
          onTap: () {
            _onMarkerTapped(markerId);
          });
      campusMarkers.add(mrkr);
      i++;
    }

GoogleMap(
      initialCameraPosition: cameraPosition,
      onMapCreated: _onMapCreated,
      mapType: MapType.normal,
      markers: campusMarkers, 
      onTap: (lng) => _onMapTapped(lng),
    );
void _onMarkerTapped(MarkerId markerId) {
    _getCurrentLocation();

    final Marker tappedMarker = campusMarkers.elementAt(int.parse(markerId.value));
    if (tappedMarker != null) {

    }
    else{
      print("Tapped marker is NULL..");
    }
  }

我需要一种方法来确定用户点击了哪个标记,因此我可以打开另一个页面,其中包含该位置的更详细的地图(一个用户已经点击了)。

0 个答案:

没有答案