java.lang.Object | ||
↳ | NaviView | |
↳ | com.tencent.map.navi.car.CarNaviView |
驾车导航view。 用于显示默认导航界面,包括地图和导航面板。
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | BACKUP_ROUTE_MARKER_LEVEL | ||||||||||
float | ENLARGED_INTERSECTION_ASPECT_RATIO | 路口放大图默认的宽高比: 340.0f / 291.0f | |||||||||
float | ENLARGED_PROGRESS_PANEL_HEIGHT_DP | 进度面板高度: 48dp, 其宽度自动适配,与放大图宽度保持一致。 |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
CarNaviView(Context context) | |||||||||||
CarNaviView(Context context, AttributeSet attrs) | |||||||||||
CarNaviView(Context context, AttributeSet attrs, int defStyle) |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
void |
clearAllRouteUI()
清除所有与路线相关的UI元素。包括导航路线、小车Marker、罗盘Marker、
起终点Marker、途经点Marker以及电子眼Marker.
| ||||||||||
void |
clearExtraPointsInVisibleRegion()
在剩余全览模式下调用此接口,清除需要额外包含在地图可视区域内的点。
| ||||||||||
void |
configEndPointMarkerpresentation(Bitmap toMarkerBitmap, Bitmap realToMarkerBitmap)
设置终点marker
| ||||||||||
void |
configStartPointMarkerpresentation(Bitmap fromMarkerBitmap, Bitmap realFromMarkerBitmap)
设置导航路线起点marker.
| ||||||||||
void |
configWayPointMarkerpresentation(ArrayList<Bitmap> wayMarkerBitmaps)
设置途经点marker.
| ||||||||||
float |
getEnlargedIntersectionAspectRatio()
获取当前放大图的宽高比。
| ||||||||||
TencentMap |
getMap()
获取地图操作类TencentMap,可用于添加标注、几何图形、事件监听等操作。
| ||||||||||
NaviMode |
getNaviMode()
获取当前导航模式
NaviMode 。 | ||||||||||
void |
hideBackupRoute(String routeId)
设置指定id的伴随路线隐藏
| ||||||||||
void |
hideNaviInfoPanel()
隐藏默认UI导航面板。
| ||||||||||
boolean |
isBounceEnabled()
拖动地图后能否回弹到之前的状态。
| ||||||||||
boolean |
isNightStatus()
判断当前是否夜间状态。
| ||||||||||
void | notifyCongestionReminder(RouteExplainsDelegate delegate) | ||||||||||
boolean |
onMarkerClick(Marker marker)
针对开发者外部设置监听TencentMap.OnMarkerClickListener,
而导致导航SDK内部监听变为无效的场景,
开发者需要将回调信息通过此方法直接传递给导航SDK.
| ||||||||||
void |
onPolylineClick(Polyline polyline, LatLng latLng)
针对开发者外部设置监听TencentMap.OnPolylineClickListener,
而导致导航SDK内部监听变为无效的场景,
开发者需要将回调信息通过此方法直接传递给导航SDK.
| ||||||||||
void |
onRouteDidChange(RouteData route, ArrayList<TrafficItem> trafficItems, RouteChangedReason reason)
当前导航路线切换的回调。
| ||||||||||
void |
onRouteRecommend(RecommendRouteInfo recommendRouteInfo)
动态路线推荐
| ||||||||||
void | onShowEnlargedIntersectionUnion(IntersectionEnlarger.EnlargedImageUnion imageUnion) | ||||||||||
void |
onShowGuidedLaneInfo(GuidedLaneInfo info)
车道线信息回调。
| ||||||||||
void |
removeEnlargedIntersection()
关闭当前正在展示的放大图。
| ||||||||||
void |
setAutoScaleEnabled(Boolean autoScaleEnabled)
设置导航地图是否开启自动缩放比例尺功能,默认关闭。
>开启之后,3D车头朝上、2D地图朝北模式会在路口处自动调整地图zoomlevel和overlooking, 以提供最佳视野通过路口。 | ||||||||||
void |
setAutoScaleMinZoomLevel(float level)
设置自动比例尺最小缩放级别zoomLevel, 默认15.0。
| ||||||||||
void |
setBackupRouteBubbleConfig(BackupRouteBubbleConfig config)
设置伴随气泡的属性
BackupRouteBubbleConfig 。 | ||||||||||
void |
setBackupRoutesHidden(boolean isHidden)
设置是否隐藏伴随路线,默认显示。
| ||||||||||
void |
setBounceEnabled(boolean bounceEnabled)
设置拖动地图后能否回弹到之前的状态。
| ||||||||||
void |
setBounceTime(int sec)
设置用户拖动地图进入回弹模式后,回弹到之前导航模式。
| ||||||||||
void |
setCarNavPanelMarginTop(int top)
设置面板距离顶部高度。
| ||||||||||
void |
setCarRouteConfig(CarRouteConfig config)
设置路线颜色配置类。
| ||||||||||
void |
setCompassMarkerVisible(boolean visible)
设置是否显示小车罗盘marker.
| ||||||||||
void |
setCustomizedIcons(CustomizedIcons customizedIcons)
为导航元素设置自定义的自车点图标。
| ||||||||||
void |
setDayNightMode(DayNightMode dayNightMode)
设置导航过程中使用的日夜模式。默认为自动切换模式。
| ||||||||||
void |
setDayNightModeChangeCallback(DayNightModeChangeCallback dayNightChangeCallback)
设置日夜状态改变回调.用于在日夜状态发生变化时,告知用户。
| ||||||||||
void |
setElectronicEyeMarkerVisible(boolean visible)
设置是否显示电子眼marker,一旦设置,将接管视图的默认电子眼行为
| ||||||||||
void |
setEnlargedIntersectionAspectRatio(float ratio)
设置放大图宽高比。
宽高比范围[1.0, 2.0] | ||||||||||
void |
setEnlargedIntersectionListener(OnEnlargedIntersectionListener enlargedIntersectionListener)
设置路口放大图显示与移除的状态回调。
| ||||||||||
void |
setEnlargedIntersectionProgressVisible(boolean visible)
设置路口放大图上进度条显隐。默认true.
| ||||||||||
void |
setEnlargedIntersectionRegionMargin(int left, int top, int right)
设置路口放大图的显示位置。在导航开始前设置有效。
此方法仅在 | ||||||||||
void |
setEnlargedIntersectionVisible(boolean visible)
设置路口放大图的显隐。默认true.
| ||||||||||
void |
setGuidedLaneVisible(boolean visible)
设置车道线的显隐。默认true.
| ||||||||||
void |
setMapStyle(int styleType)
改变底图样式。注意,如果调用该方法,日夜间模式样式将不再发生变化
| ||||||||||
void | setNavTtsMode(NavTtsMode navTtsMode) | ||||||||||
void |
setNavTtsModeChangeListener(OnNavTtsModeChangeListener onNavTtsModeChangeListener)
监听语音模式变化。
| ||||||||||
void |
setNaviFixingProportion2D(float xratio, float yratio)
设置导航过程中2d模式下,自车点位于地图宽高的比例,默认x坐标为0.5 ,y坐标为0.75。
| ||||||||||
void |
setNaviFixingProportion3D(float xratio, float yratio)
设置导航过程中3d模式下,自车点位于地图宽高的比例,默认x坐标为0.5 ,y坐标为0.75。
| ||||||||||
void |
setNaviFollowLineColor(HashMap<Integer, Integer> colorMap)
This method is deprecated.
5.3.6
| ||||||||||
void |
setNaviLineArrowSpacing(int arrowSpacing)
设置方向箭头的间距。
| ||||||||||
void |
setNaviLineColor(HashMap<Integer, Integer> colorMap)
This method is deprecated.
5.3.6
| ||||||||||
void |
setNaviLineWidth(int width)
设置导航路线宽度。
| ||||||||||
void |
setNaviMapActionCallback(NaviMapActionCallback naviMapActionCallback)
设置地图事件回调,
NaviMapActionCallback 包含点击伴随监听。 | ||||||||||
void |
setNaviMode(NaviMode naviMode)
设置导航模式。默认为3D车头向上模式。
| ||||||||||
void |
setNaviModeChangeCallback(NaviModeChangeCallback naviModeChangeCallback)
设置导航模式变化回调.用于在导航模式发生变化时,告知用户。
| ||||||||||
void |
setNaviPanelEnabled(boolean enabled)
This method is deprecated.
No replacement.
| ||||||||||
void |
setNavigationPanelVisible(boolean visible)
设置导航面板的显隐。默认true.
| ||||||||||
void |
setODLineColor(int color)
设置当前位置到终点的牵引线的颜色
| ||||||||||
void | setOnNaviPanelClickListener(OnNaviPanelClickListener onNaviPanelClickListener) | ||||||||||
void | setOnRecommendInfoClickListener(CarNaviInfoPanel.OnRecommendInfoClickListener onRecommendInfoClickListener) | ||||||||||
boolean |
setOnTouchListener(View v, MotionEvent event)
针对开发者外部设置监听MapView#setOnTouchListener(OnTouchListener),
而导致导航SDK内部监听变为无效的场景,
开发者需要将回调信息通过此方法直接传递给导航SDK.
| ||||||||||
void |
setPonitInfoWindowEnable(boolean showInfoWindow)
设置是否显示起终点InfoWindow
| ||||||||||
void |
setRouteEraseType(int type)
设置路线擦除类型。默认为置灰效果。
| ||||||||||
void |
setShowODLine(boolean showODLine)
是否展示当前位置到终点的牵引线
| ||||||||||
static void |
setTencentMapOptions(TencentMapOptions tencentMapOptions)
设置地图 TencentMapOptions。
| ||||||||||
void |
setTrafficBubbleEnabled(boolean visible)
设置路况拥堵气泡的显示和隐藏。默认false。
在非全览模式下才会展示拥堵气泡。 | ||||||||||
void |
setTrafficEnabled(boolean enabled)
设置导航地图是否显示实时交通。
| ||||||||||
void |
setTurnArrowVisible(boolean visible)
设置是否显示地图路线上的白色转向箭头。
| ||||||||||
void |
setVisibleRegionMargin(int top, int right, int bottom, int left)
设置导航路线显示区域距离屏幕四周的边距。
若用户自定义了需要在CarNaviView上显示的元素, 可以调用该接口,以调整导航路线显示区域的范围, 从而避免可能出现的元素相互遮挡。 // 当不存在默认导航面板时,路线区域距离顶部 top = 10px // 当存在面板时,top = 10px + (panelHeight + panelMarginTop) .setVisibleRegionMargin(10, 10, 10, 10); | ||||||||||
void |
showBackupRoute(String routeId)
设置指定id的伴随路线展示
| ||||||||||
CarNaviInfoPanel |
showNaviInfoPanel()
使用默认导航 UI 面板。
| ||||||||||
void |
showServiceAreaInfo(boolean isShow)
是否显示高速休息区面板,默认NO
| ||||||||||
void |
updateExtraPointsInVisibleRegion(ArrayList<LatLng> extraPoints)
在剩余全览模式下调用此接口并传入坐标点,将会在调整地图视野时,
确保开发者传入的坐标点显示在可视区域内.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() |
路口放大图默认的宽高比: 340.0f / 291.0f
进度面板高度: 48dp, 其宽度自动适配,与放大图宽度保持一致。
清除所有与路线相关的UI元素。包括导航路线、小车Marker、罗盘Marker、 起终点Marker、途经点Marker以及电子眼Marker.
需在非导航态或在此 CarNaviView 已被 manager 移除后调用。
在剩余全览模式下调用此接口,清除需要额外包含在地图可视区域内的点。
设置终点marker
toMarkerBitmap | 气泡样式marker |
---|---|
realToMarkerBitmap | 气泡样式marker |
设置导航路线起点marker.
fromMarkerBitmap | 圆盘样式marker |
---|---|
realFromMarkerBitmap | 气泡样式marker |
设置途经点marker.
当 bitmap size > way pass size,多余的部分不使用。 当 bitmap size < way pass size,不够的部分使用assets内默认资源图片。
wayMarkerBitmaps | 气泡样式marker |
---|
获取当前放大图的宽高比。
获取地图操作类TencentMap,可用于添加标注、几何图形、事件监听等操作。
设置指定id的伴随路线隐藏
隐藏默认UI导航面板。
拖动地图后能否回弹到之前的状态。
判断当前是否夜间状态。
针对开发者外部设置监听TencentMap.OnMarkerClickListener, 而导致导航SDK内部监听变为无效的场景, 开发者需要将回调信息通过此方法直接传递给导航SDK.
marker | 待响应的maker |
---|
针对开发者外部设置监听TencentMap.OnPolylineClickListener, 而导致导航SDK内部监听变为无效的场景, 开发者需要将回调信息通过此方法直接传递给导航SDK.
polyline | Polyline |
---|---|
latLng | LatLng |
当前导航路线切换的回调。
route | 切换到的导航路线数据 |
---|---|
trafficItems | 当前路线的路况数据 |
reason | 切换原因 |
动态路线推荐
recommendRouteInfo | 推荐路线信息 |
---|
关闭当前正在展示的放大图。
设置导航地图是否开启自动缩放比例尺功能,默认关闭。
>开启之后,3D车头朝上、2D地图朝北模式会在路口处自动调整地图zoomlevel和overlooking, 以提供最佳视野通过路口。
autoScaleEnabled | true: 开启自动缩放比例尺功能;false: 不开启缩放比例尺功能 |
---|
设置自动比例尺最小缩放级别zoomLevel, 默认15.0。
level | 开启比例尺后,自动缩放的最小zoomLevel 取值范围[14, 17] |
---|
设置伴随气泡的属性BackupRouteBubbleConfig
。
config | 配置信息 |
---|
设置是否隐藏伴随路线,默认显示。
isHidden | true: 隐藏伴随,false: 显示伴随 |
---|
设置拖动地图后能否回弹到之前的状态。
bounceEnabled | false:关闭回弹, true:拖动地图后 5s 回弹到之前导航模式 |
---|
设置用户拖动地图进入回弹模式后,回弹到之前导航模式。
sec | 回弹时间 单位:秒,默认时间5s |
---|
设置面板距离顶部高度。
top | 高度值,单位px |
---|
设置是否显示小车罗盘marker. 一旦设置,将接管视图的罗盘显隐行为
visible | true为显示,false为不显示 |
---|
为导航元素设置自定义的自车点图标。
customizedIcons | 自定义图标 |
---|
设置导航过程中使用的日夜模式。默认为自动切换模式。
dayNightMode | 日夜模式,参考DayNightMode
|
---|
设置日夜状态改变回调.用于在日夜状态发生变化时,告知用户。
dayNightChangeCallback | 日夜状态改变回调 |
---|
设置是否显示电子眼marker,一旦设置,将接管视图的默认电子眼行为
visible | true为显示,false为不显示 |
---|
设置放大图宽高比。
宽高比范围[1.0, 2.0]
设置路口放大图显示与移除的状态回调。
enlargedIntersectionListener | 放大图回调 |
---|
设置路口放大图上进度条显隐。默认true.
NOTE: 当路口放大图正展示时,调用此方法不支持立即生效,会在下次展示生效。
visible | true:显示,false:隐藏 |
---|
设置路口放大图的显示位置。在导航开始前设置有效。
此方法仅在 setEnlargedIntersectionVisible(boolean)
} true 时生效,
且路口放大图的宽高比例固定,位置和大小由 top、left、right 共同决定,
bottom 无需设置。
left | 左边距, 单位px |
---|---|
top | 上边距, 单位px |
right | 右边距, 单位px |
设置路口放大图的显隐。默认true.
NOTE : 只控制非全览模式下的显隐、全览模式下均不显示。
visible | true:显示,false:隐藏 |
---|
设置车道线的显隐。默认true.
NOTE : 只控制非全览模式下的显隐、全览模式下均不显示。
visible | true:显示,false:隐藏 |
---|
改变底图样式。注意,如果调用该方法,日夜间模式样式将不再发生变化
styleType | 在官网配置的自定义样式列表中的顺序, 从1开始 |
---|
监听语音模式变化。
设置导航过程中2d模式下,自车点位于地图宽高的比例,默认x坐标为0.5 ,y坐标为0.75。
xratio | x坐标位于地图宽度的比例,取值范围[0.25,0.75], 例如0.5表示位于x坐标值为地图宽度的一半 |
---|---|
yratio | y坐标位于地图高度的比例,取值范围[0.25,0.75], 例如0.5表示位于y坐标值为地图高度的一半 |
设置导航过程中3d模式下,自车点位于地图宽高的比例,默认x坐标为0.5 ,y坐标为0.75。
xratio | x坐标位于地图宽度的比例,取值范围[0.25,0.75], 例如0.5表示位于x坐标值为地图宽度的一半 |
---|---|
yratio | y坐标位于地图高度的比例,取值范围[0.25,0.75], 例如0.5表示位于y坐标值为地图高度的一半 |
This method is deprecated.
5.3.6
设置伴随路线路况颜色。
colorMap | key:路况级别,value:颜色值(默认:浅色)
|
---|
设置方向箭头的间距。
arrowSpacing | 间距,单位px,默认100px。 |
---|
This method is deprecated.
5.3.6
设置路况颜色。在导航开始前设置有效。
colorMap | key:路况级别,value:颜色值
|
---|
设置导航路线宽度。
width | 路线宽度,单位:px,目前限制最大宽度 128 |
---|
设置地图事件回调,NaviMapActionCallback
包含点击伴随监听。
naviMapActionCallback | 地图sdk的事件监听。 |
---|
设置导航模式变化回调.用于在导航模式发生变化时,告知用户。
naviModeChangeCallback | 导航模式变化回调 |
---|
This method is deprecated.
No replacement.
设置是否显示默认导航面板,包括导航面板,路口放大图以及车道线。
此方法已废弃,目前可通过 either setNavigationPanelVisible(boolean)
or
setEnlargedIntersectionVisible(boolean)
or
setGuidedLaneVisible(boolean)
分别控制面板、放大图、车道线的显隐状态
enabled | true:显示,false:不显示 |
---|
设置导航面板的显隐。默认true.
visible | true:显示,false:隐藏 |
---|
设置当前位置到终点的牵引线的颜色
color | 当使用ARGB线时为ARGB色值 |
---|
针对开发者外部设置监听MapView#setOnTouchListener(OnTouchListener), 而导致导航SDK内部监听变为无效的场景, 开发者需要将回调信息通过此方法直接传递给导航SDK.
v | 待处理事件View |
---|
设置是否显示起终点InfoWindow
设置路线擦除类型。默认为置灰效果。
type | 0: 置灰已走路线 1: 擦除已走路线 |
---|
是否展示当前位置到终点的牵引线
showODLine | true为显示,false为不显示 |
---|
设置地图 TencentMapOptions。
tencentMapOptions | 地图初始配置 |
---|
设置路况拥堵气泡的显示和隐藏。默认false。
在非全览模式下才会展示拥堵气泡。
visible | true:显示,false:隐藏 |
---|
设置导航地图是否显示实时交通。
enabled | true:开启 ; false:关闭 |
---|
设置是否显示地图路线上的白色转向箭头。
visible | true为显示,false为不显示 |
---|
设置导航路线显示区域距离屏幕四周的边距。
若用户自定义了需要在CarNaviView上显示的元素, 可以调用该接口,以调整导航路线显示区域的范围, 从而避免可能出现的元素相互遮挡。
// 当不存在默认导航面板时,路线区域距离顶部 top = 10px // 当存在面板时,top = 10px + (panelHeight + panelMarginTop) .setVisibleRegionMargin(10, 10, 10, 10);
top | 上边距 单位:px |
---|---|
right | 右边距 单位:px |
bottom | 下边距 单位:px |
left | 左边距 单位:px |
设置指定id的伴随路线展示
是否显示高速休息区面板,默认NO
在剩余全览模式下调用此接口并传入坐标点,将会在调整地图视野时, 确保开发者传入的坐标点显示在可视区域内.
NOTE: 其他导航模式传入无效.
extraPoints | 需要额外包含在地图可视区域内的点数据 |
---|