通过 BNSDKService.map 访问,控制地图显示区域、模式切换、路况及图层显示。
export interface BNIMapInterface {updateMapShowScreenRect(mapRect: BNEngineEdgeInsets): boolean;updateUIViewBound(mapRects: BNEngineEdgeInsets[]): boolean;setNaviMode(naviMode: BNAbilityNaviMode): boolean;setBrowseStatus(isBrowse: boolean): boolean;showTrafficMap(showTraffic: boolean): boolean;showRouteLayer(show: boolean, isAnimation: boolean): void;naviModeZoomToFullView(animation: boolean): boolean;}
设置地图显示区域(绿框)。绿框外区域地图不渲染,用于在 UI 元素覆盖区域节省性能。
参数: left, top, right, bottom,单位 px
sdkService.map.updateMapShowScreenRect({left: 100,top: 600,right: 1150,bottom: 2050});
设置自定义 UI 碰撞区域(蓝框),路线全览时会避开这些区域。
sdkService.map.updateUIViewBound([{ left: 300, top: 20, right: 20, bottom: 0 }, // 右侧浮动按钮区域{ left: 20, top: 100, right: 300, bottom: 0 }, // 底部操作栏区域]);
// 驾车导航模式sdkService.map.setNaviMode(BNAbilityNaviMode.Normal);// 路线规划(算路)页模式sdkService.map.setNaviMode(BNAbilityNaviMode.Route);
进入/退出地图浏览态(停止跟随车标)。
// 进入浏览态(可手动拖拽地图)sdkService.map.setBrowseStatus(true);// 退出浏览态(恢复跟随)sdkService.map.setBrowseStatus(false);
显示或隐藏实时路况。
sdkService.map.showTrafficMap(true);
控制路线图层的显示或隐藏。
// 算路前隐藏路线sdkService.map.showRouteLayer(false, false);// 算路完成后显示路线sdkService.map.showRouteLayer(true, false);
将地图缩放到可查看完整路线。
sdkService.map.naviModeZoomToFullView(false);
上一篇
下一篇