【问题标题】:how to animate google map view when change lat and lng?更改 lat 和 lng 时如何为谷歌地图视图设置动画?
【发布时间】:2020-03-18 01:32:15
【问题描述】:

我在列内添加了谷歌地图。

我的检查员是这样的:

脚手架 - 堆 - 单子滚动视图 - 形式 - 容器 - 填充 - 柱子 - 大小盒 - 谷歌地图

                     SizedBox(
                          width: width,
                          height:height * .4,
                          child: GoogleMap(
                            gestureRecognizers: <Factory<OneSequenceGestureRecognizer>>[
                              Factory<OneSequenceGestureRecognizer>(
                                      () => EagerGestureRecognizer())].toSet(),
                            mapType: MapType.normal,
                            initialCameraPosition: CameraPosition(
                                target: LatLng(lat, lng),
                                zoom: 15),
                            onCameraMove: (_)=>CameraPosition(
                                target: LatLng(lat, lng),
                                zoom: 15),
                            markers: Set<Marker>.of(<Marker>[
                          Marker(
                          markerId: MarkerId('id'),
                        position: LatLng(lat, lng),
                        icon: BitmapDescriptor.defaultMarker,
                          ),
                        ]),
                        onMapCreated: (GoogleMapController controller) {
                              setState(() {
                                controller.animateCamera(CameraUpdate.newLatLng(
                                  LatLng(lat, lng),
                                ));
                              });
                            },
                          )),

谷歌地图搜索

            RaisedButton(
                onPressed: _handlePressButton,
                child: Text("Search places"),
              ),

  Future<void> _handlePressButton() async {
    Prediction p = await PlacesAutocomplete.show(
      context: context,
      apiKey: kGoogleApiKey,
      mode: Mode.overlay,
    );
    displayPrediction(p);
  }

  Future<void> displayPrediction(Prediction p) async {
    if (p != null) {
      PlacesDetailsResponse detail =
          await _places.getDetailsByPlaceId(p.placeId);
      setState(() {
        lat = detail.result.geometry.location.lat;
        lng = detail.result.geometry.location.lng;
      });
    }
  }

更改 lat 和 LNG 地图后没有动画但标记发生了变化..如何为谷歌地图视图设置动画?

【问题讨论】:

    标签: google-maps flutter google-maps-api-3 dart


    【解决方案1】:

    这就是你要做的事情

     final GoogleMapController controller = await mapController;
    
        mapCcontroller.animateCamera(CameraUpdate.newCameraPosition(
          CameraPosition(
            bearing: 0,
            target: LatLng(lat, lon),
            zoom: 16.0,
          ),
    ));
    

    【讨论】:

      猜你喜欢
      • 2020-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多