【问题标题】:How to fix Flutter google map picker problem?如何解决 Flutter 谷歌地图选择器问题?
【发布时间】:2021-01-06 12:45:23
【问题描述】:

我正在使用谷歌地图选择器。但是当我选择地点时出现问题

RangeError (RangeError (index): Invalid value: Valid value range is empty: 0)



 return Center(
    child: Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
        RaisedButton(
          onPressed: () async {
            LocationResult result = await showLocationPicker(
              context,
              "blablablagooglekey",
              initialCenter: LatLng(41.2995, 69.2401),
              myLocationButtonEnabled: true,
              layersButtonEnabled: true,
              desiredAccuracy: LocationAccuracy.best,
            );
            print("result = $result");
            setState(() => _pickedLocation = result);
          },
          child: Text('Pick location'),
        ),
        Text(_pickedLocation.toString() ?? 'Test'),
      ],
    ),
  );

我该如何解决这个问题?

我需要选择会议地点。

【问题讨论】:

    标签: flutter dictionary dart sdk


    【解决方案1】:

    如果你想实现地图选择器,试试这个包: https://pub.dev/packages/map_picker.

              MapPicker(
                // pass icon widget
                iconWidget: SvgPicture.asset(
                  "assets/location_icon.svg",
                  height: 60,
                ),
                //add map picker controller
                mapPickerController: mapPickerController,
                child: GoogleMap(
                  myLocationEnabled: true,
                  zoomControlsEnabled: false,
                  // hide location button
                  myLocationButtonEnabled: false,
                  mapType: MapType.normal,
                  //  camera position
                  initialCameraPosition: cameraPosition,
                  onMapCreated: (GoogleMapController controller) {
                    _controller.complete(controller);
                  },
                  onCameraMoveStarted: () {
                    // notify map is moving
                    mapPickerController.mapMoving!();
                    textController.text = "checking ...";
                  },
                  onCameraMove: (cameraPosition) {
                    this.cameraPosition = cameraPosition;
                  },
                  onCameraIdle: () async {
                    // notify map stopped moving
                    mapPickerController.mapFinishedMoving!();
                    //get address name from camera position
                    List<Placemark> placemarks = await placemarkFromCoordinates(
                      cameraPosition.target.latitude,
                      cameraPosition.target.longitude,
                    );
    
                    // update the ui with the address
                    textController.text =
                    '${placemarks.first.name}, ${placemarks.first.administrativeArea}, ${placemarks.first.country}';
                  },
                ),
              ),
    

    【讨论】:

      猜你喜欢
      • 2014-09-01
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多