Browse Source

缩放适配

dev
huixiang_app 1 year ago
parent
commit
ed2fa16409
  1. 76
      lib/union/location_map_page.dart

76
lib/union/location_map_page.dart

@ -163,32 +163,33 @@ class _LocationMap extends State<LocationMap> with WidgetsBindingObserver {
Expanded( Expanded(
child: Container( child: Container(
//BMFMapWidget ,BMFTextureMapWidget不会强制遮盖其他控件 //BMFMapWidget ,BMFTextureMapWidget不会强制遮盖其他控件
child: (Platform.isAndroid) ? BMFTextureMapWidget( child: (Platform.isAndroid)
mapOptions: BMFMapOptions( ? BMFTextureMapWidget(
center: BMFCoordinate( mapOptions: BMFMapOptions(
double.tryParse(widget.arguments["lat"]), center: BMFCoordinate(
double.tryParse(widget.arguments["lng"]), double.tryParse(widget.arguments["lat"]),
), double.tryParse(widget.arguments["lng"]),
showZoomControl: false, ),
showMapScaleBar: false, showZoomControl: false,
rotateEnabled: false, showMapScaleBar: false,
zoomLevel: 15, rotateEnabled: false,
), zoomLevel: 15,
onBMFMapCreated: onMapCreated, ),
) : onBMFMapCreated: onMapCreated,
BMFMapWidget( )
mapOptions: BMFMapOptions( : BMFMapWidget(
center: BMFCoordinate( mapOptions: BMFMapOptions(
double.tryParse(widget.arguments["lat"]), center: BMFCoordinate(
double.tryParse(widget.arguments["lng"]), double.tryParse(widget.arguments["lat"]),
), double.tryParse(widget.arguments["lng"]),
showZoomControl: false, ),
showMapScaleBar: false, showZoomControl: false,
rotateEnabled: false, showMapScaleBar: false,
zoomLevel: 15, rotateEnabled: false,
), zoomLevel: 15,
onBMFMapCreated: onMapCreated, ),
)), onBMFMapCreated: onMapCreated,
)),
flex: 3, flex: 3,
), ),
navigationState == 0 navigationState == 0
@ -306,8 +307,9 @@ class _LocationMap extends State<LocationMap> with WidgetsBindingObserver {
onTap: () { onTap: () {
if (myCity == null) { if (myCity == null) {
// onOpenBaiduMap(); // onOpenBaiduMap();
SmartDialog.showToast("您定位服务未开启,请前往系统设置中开启定位服务", SmartDialog.showToast(
alignment: Alignment.center); "您定位服务未开启,请前往系统设置中开启定位服务",
alignment: Alignment.center);
} else { } else {
navigationState = 1; navigationState = 1;
if ((distance ?? 0) < 500) if ((distance ?? 0) < 500)
@ -408,7 +410,8 @@ class _LocationMap extends State<LocationMap> with WidgetsBindingObserver {
} }
void onOpenBaiduMap() async { void onOpenBaiduMap() async {
launch("baidumap://map/marker?location=${storeInfo.latitude},${storeInfo.longitude}&title=${storeInfo.storeName}&content=${storeInfo.storeName}&traffic=on&src=andr.baidu.openAPIdemo&coord_type=gcj02"); launch(
"baidumap://map/marker?location=${storeInfo.latitude},${storeInfo.longitude}&title=${storeInfo.storeName}&content=${storeInfo.storeName}&traffic=on&src=andr.baidu.openAPIdemo&coord_type=gcj02");
} }
//調APP //調APP
@ -452,7 +455,7 @@ class _LocationMap extends State<LocationMap> with WidgetsBindingObserver {
} }
updateMapLine(List<BMFCoordinate> coordinates, int needHours, int needMinutes, updateMapLine(List<BMFCoordinate> coordinates, int needHours, int needMinutes,
double needDistance) { double needDistance) async {
try { try {
// //
_mapController.cleanAllMarkers(); _mapController.cleanAllMarkers();
@ -499,12 +502,23 @@ class _LocationMap extends State<LocationMap> with WidgetsBindingObserver {
draggable: false, draggable: false,
); );
_mapController.addMarker(terminalBmfMarker); _mapController.addMarker(terminalBmfMarker);
_mapController.setVisibleMapRectWithPadding( SmartDialog.showToast(
"${startLocation.longitude} ${startLocation.latitude} ${endLocation.longitude} ${endLocation.latitude}",
alignment: Alignment.center);
bool tryFlag = await _mapController.setVisibleMapRectWithPadding(
visibleMapBounds: BMFCoordinateBounds( visibleMapBounds: BMFCoordinateBounds(
northeast: startLocation, southwest: endLocation), northeast: startLocation, southwest: endLocation),
animated: true, animated: true,
insets: insets:
EdgeInsets.only(top: 500, bottom: 200, left: 200, right: 200)); EdgeInsets.only(top: 500, bottom: 200, left: 200, right: 200));
if (!tryFlag) {
tryFlag = await _mapController.setVisibleMapBounds(
BMFCoordinateBounds(northeast: startLocation, southwest: endLocation),
true,
);
if (!tryFlag)
SmartDialog.showToast("还是不行", alignment: Alignment.center);
}
hours = needHours == 0 ? "" : "$needHours小时"; hours = needHours == 0 ? "" : "$needHours小时";
minutes = needMinutes == 0 ? "" : "$needMinutes分钟"; minutes = needMinutes == 0 ? "" : "$needMinutes分钟";

Loading…
Cancel
Save