如何在 Google 地图中实现中心放大/缩小功能?缩放手势正在起作用,但是当我放大/缩小坐标时,坐标会发生变化。我也尝试使用 scaleUp 和 scaleDown 手势,但没有按预期工作。我正在尝试实现缩放功能,就像 Deliveroo 应用程序一样。
以上视频是deliveroo应用。当我尝试从任何地方缩放时,它总是从中心缩放地图。
我是这样实现地图的:
GoogleMap(
padding: EdgeInsets.only(bottom: 100),
myLocationEnabled: true,
tiltGesturesEnabled: false,
compassEnabled: false,
scrollGesturesEnabled: false,
zoomGesturesEnabled: true,
zoomControlsEnabled: false,
rotateGesturesEnabled: false,
myLocationButtonEnabled: false,
initialCameraPosition: CameraPosition(
target: LatLng(25.1988, 55.2796),
zoom: zoomLevel,
),
onMapCreated: (GoogleMapController controller) {
this.controller = controller;
},
onCameraMove: (position) {
if (!isFromPlaceSuggestion)
_coordinates = Coordinates(position.target.latitude, position.target.longitude);
},
onCameraMoveStarted: () {
setState(() {
markerOpacity = 0.5;
});
},
onCameraIdle: () async {
if (!isFromPlaceSuggestion) {
if (_coordinates == null) return;
findAddressFromLatLong(
this.controller, _coordinates, true);
}
setState(() {
markerOpacity = 1.0;
});
},
markers: Set<Marker>.of(markers.values),
)
在我的情况下,当我尝试从屏幕右侧缩放地图时,它会移动到正确的大小,左侧也是如此,这会改变我的标记从中心的位置。但是在上面的视频中,无论我在哪里可以缩放地图,指针始终停留在中心。我也尝试过 PanGestureDetactor,但无法实现相同的工作。