我使用的是[google_map_flutter]包。
单击标记时,我不希望屏幕移动到标记的中心。有办法吗?
尝试这个
尝试设置
consumeTapEvents=false
作为Marker构造函数的参数。
Marker marker =Marker(consumeTapEvents=false)
好吧,在你的GoogleMap上,你可以用一些默认目标设置一个initialCameraPosition,比如:
initialCameraPosition: CameraPosition(
zoom: 13,
target: LatLng(
defaultLat,
defaultLng,
),
),
然后你可以从onMapCreated获得你的地图控制器,比如:
late GoogleMapController _mapController;
void onMapCreated(GoogleMapController googleMapsController) async {
_mapController = googleMapsController;
//rest of your code...
}
并在从Marker到"的onTap((方法上使用它;锁定";保持相机与默认目标的位置。类似:
Marker(
markerId: const MarkerId('id'),
onTap: () {
_mapController.animateCamera(
CameraUpdate.newCameraPosition(
CameraPosition(
zoom: 13,
target: LatLng(
defaultLat,
defaultLng,
),
),
),
);
},
);
这并不理想,因为你可能仍然会注意到相机有点试图移动,但它保持在锁定位置。