Class SynchronizationDisplayManager

java.lang.Object
com.baidu.mapapi.synchronization.SynchronizationDisplayManager

public class SynchronizationDisplayManager extends Object
  • Constructor Details

    • SynchronizationDisplayManager

      public SynchronizationDisplayManager(android.content.Context context, BaiduMap baiduMap, RoleOptions roleOptions, DisplayOptions displayOptions)
      显示功能API构造函数
      Parameters:
      context - 上下文,建议跟MapView的Context保持一致。如果为null,则抛出非法参数异常。
      baiduMap - 地图控制器实例,由客户端创建,传给SDK,二者共用同一BaiduMap 如果为null或者非BaiduMap 实例,则抛出非法参数异常。
      roleOptions - 司机或乘客信息RoleOptions,当前只为乘客端。 检查参数,如果必须参数为null或者非法,则抛出非法参数异常。 包括: 订单号,必选参数,必须是字母或者数字或下划线,且长度为32位; 司机ID,由用户传入,必选参数, 必须是字母或数字或下划线,且长度为[1, 64]; 厂商标识,由用户确认唯一标识自己,例如首汽可以传入SHOUQI_XX, XX为具体的业务,必选参数, 必须是字母或数字或下划线,且长度为[1, 32]; 角色类型,乘客端为0,必选参数。当前仅为乘客端; 传入坐标类型,必选参数。当前仅支持百度经纬度(BD09LL)和国测局坐标(COMMON) SyncCoordinateConverter.CoordType,默认百度经纬度坐标,坐标类型设置要早于坐标赋值操作。 司机初始位置点坐标,非必选参数,建议用户传入,否则在进入司乘同显服务从服务端获取司机位置失败时,无司机位置则无法展示; POI UID,名称,非必选参数; 订单起点坐标(用户上车的点)必选参数, POI UID,名称,非必选参数; 订单终点坐标(目的地),POI UID,名称,均为非必选参数;
      displayOptions - 路线绘制参数DisplayOptions。 如果使用SDK提供的默认绘制样式,则直接使用默认构造函数即可。但是如果自定义,传入参数为null,则会抛出参数异常。 包括: 订单起点图标,如果不填则使用默认样式; 订单终点图标,如果不填则使用默认样式; 车图标,如果不填则使用默认样式; 路线是否显示,如果不填则使用默认样式; 如果需要显示路线,则要设置:路线填充纹理,路况填充纹理(畅通,缓慢,拥堵,严重拥堵,未知),路线宽度, 均为可选参数,如果不填则使用默认样式; infoWindows实例, 如果不填则使用默认样式。
      Throws:
      IllegalArgumentException - ifcontext, baiduMap, roleOptions is invalid.
  • Method Details

    • registerSynchronizationDisplayListener

      public void registerSynchronizationDisplayListener(SynchronizationDisplayListener synchronizationDisplayListener)
      注册司乘同显处理监听
      Parameters:
      synchronizationDisplayListener - 司乘同显监听类,SynchronizationDisplayListener 包括: 剩余距离,时间; 错误处理结果。
      Throws:
      IllegalArgumentException - ifsynchronizationDisplayListener is null.
    • unRegisterSynchronizationDisplayListener

      public void unRegisterSynchronizationDisplayListener(SynchronizationDisplayListener synchronizationDisplayListener)
      注销已经注册的司乘同显监听 需要在资源释放时,即release() 方法之前调用。
      Parameters:
      synchronizationDisplayListener - 司乘同显监听SynchronizationDisplayListener
    • updateOrderState

      public void updateOrderState(int orderState)
      更新订单状态信息 司乘同显实际上根据订单状态触发绘制,不同的状态绘制策略不一致,所以此方法是触发绘制的唯一入口。
      Parameters:
      orderState - 订单状态:SynchronizationConstants,包括: LBS_ORDER_STATE_UNSPECIFIED = 0 未知订单状态; LBS_ORDER_STATE_READY_FOR_SERVICE = 1 司机待服务状态; LBS_ORDER_STATE_PICK_UP_PASSENGER = 2 司机去上车点接乘客状态; LBS_ORDER_STATE_WAIT_PASSENGER = 3 司机已到上车点,等待乘客上车状态; LBS_ORDER_STATE_DELIVER_PASSENGER = 4 乘客已经上车,司机送乘客去目的地; LBS_ORDER_STATE_ORDER_COMPLETE = 5 订单完成;
    • updateDisplayOptions

      public void updateDisplayOptions(DisplayOptions displayOptions)
      更新绘制参数 如果需要在不同的订单状态下,展示不同的需求,这需要结合订单状态,调用该方法设置。
      Parameters:
      displayOptions - DisplayOptions 根据不用的状态下,设置绘制参数,包括infoWindow信息等。
    • updateRoleOptions

      public void updateRoleOptions(RoleOptions roleOptions)
      更新角色参数RoleOptions
      Parameters:
      roleOptions - RoleOptions 更新后的角色参数
    • setDriverPositionFreshFrequency

      public void setDriverPositionFreshFrequency(int frequency)
      设置司机位置刷新频率
      Parameters:
      frequency - 设置刷新频率,单位是秒,默认10s,取值范围为[5, 30]
    • setOperatedMapFrozenInterval

      public void setOperatedMapFrozenInterval(int interval)
      设置在地图被操作状态下,缩放冻结时间
      Parameters:
      interval - 地图缩放禁止间隔,默认值为5s。 地图被操作状态下,取值范围为[10, 30]s;
    • setUnOperatedMapFrozenInterval

      public void setUnOperatedMapFrozenInterval(int interval)
      设置在地图未被操作状态下,缩放冻结时间
      Parameters:
      interval - 地图缩放禁止间隔,默认值为5s。 地图未操作状态下,取值范围为[10, 20]s;
    • updateStartPositionInfoWindowView

      public void updateStartPositionInfoWindowView(android.view.View infoWindowView)
      更新订单起点气泡(InfowWindow)的view控件 如不设置,或者设置为null,则不做绘制
      Parameters:
      infoWindowView - 更新后的infoWindow的view.
    • updateEndPositionInfoWindowView

      public void updateEndPositionInfoWindowView(android.view.View infoWindowView)
      更新订单终点气泡(InfowWindow)的view控件 如不设置,或者设置为null,则不做绘制
      Parameters:
      infoWindowView - 更新后的infoWindow的view.
    • updateCarPositionInfoWindowView

      public void updateCarPositionInfoWindowView(android.view.View infoWindowView)
      更新小车位置气泡(InfowWindow)的view控件 如不设置,或者设置为null,则不做绘制
      Parameters:
      infoWindowView - 更新后的infoWindow的view.
    • onResume

      public void onResume()
      前台生命周期方法 当APP由后台转到前台时,调用该方法,进行数据刷新。对应Activity的onResume意义。
    • onPause

      public void onPause()
      后台生命周期方法 当APP有前台转到后台时调用该方法,停止数据刷新。对应Activity的onPause意义。
    • getStartPositionMarker

      public Marker getStartPositionMarker()
      获取起点位置Maker对象
      Returns:
      Maker对象
    • getEndPositionMarker

      public Marker getEndPositionMarker()
      获取终点位置Marker对象
      Returns:
      Marker对象
    • getCarMarker

      public Marker getCarMarker()
      获取小车Marker对象
      Returns:
      Marker对象
    • getCarInfoWindow

      public Marker getCarInfoWindow()
      获取小车InfoWindow对象
      Returns:
    • adjustVisibleSpanByUser

      public void adjustVisibleSpanByUser()
      用户触发最佳视野适配 比如通过控件点击事件来调用该接口进行视野适配,调用视野调整立即生效
    • adjustVisibleSpanByUser

      public void adjustVisibleSpanByUser(int paddingLeft, int paddingTop, int paddingRight, int paddingBottom)
      通过padding触发最佳视野适配 比如通过控件点击事件来调用该接口进行视野适配,调用视野调整立即生效
    • updateOrderEndPositionInfo

      public void updateOrderEndPositionInfo(LatLng endPoint, String endPositionName, String endPositionPoiId, SyncCoordinateConverter.CoordType coordType)
      动态更新订单终点信息 更改完成后,会在一个司机位置拉取间隔之后更新地图上新的终点ICON 需要注意的是: 1. 如果调用该接口更新了目的地,那么在用户退出司乘同显或者APP退出(杀死)之后 APP的开发者再次进入司乘同显的时候需要以最后更新的目的地来初始化司乘同显; 2. 目的地变更后,会更新目的地Marker并删除旧路线,如果变更事件上传服务端失败,那么 会出现无法绘制新路线的情况 3. 只有普通订单才支持目的地变更,拼单目前不支持
      Parameters:
      endPoint - 新的终点坐标,必须参数,如果非法或者为Null,则更改不生效
      endPositionName - 新的终点名称,必须参数,如果为null,则更改不生效
      endPositionPoiId - 新的终点POI ID,为保证算路的精准性,建议该参数输入。
      coordType - 新的终点坐标类型,必须参数,如果为null或者非法,更改不生效。 当前仅支持BD09LL和COMMON,默认BD09LL。 参见 SyncCoordinateConverter.CoordType
    • updateOrderStartPositionInfo

      public void updateOrderStartPositionInfo(LatLng startPoint, String startPositionName, String startPositionPoiId, SyncCoordinateConverter.CoordType coordType)
      动态更新订单起点信息 更改完成后,会在一个司机位置拉取间隔之后更新地图上新的起点ICON 需要注意的是: 1. 如果调用该接口更新了目的地,那么在用户退出司乘同显或者APP退出(杀死)之后 APP的开发者再次进入司乘同显的时候需要以最后更新的目的地来初始化司乘同显; 2. 目的地变更后,会更新目的地Marker并删除旧路线,如果变更事件上传服务端失败,那么 会出现无法绘制新路线的情况 3. 只有普通订单才支持目的地变更,拼单目前不支持
      Parameters:
      startPoint - 新的起点坐标,必须参数,如果非法或者为Null,则更改不生效
      startPositionName - 新的起点名称,必须参数,如果为null,则更改不生效
      startPositionPoiId - 新的起点POI ID,为保证算路的精准性,建议该参数输入。
      coordType - 新的起点坐标类型,必须参数,如果为null或者非法,更改不生效。 当前仅支持BD09LL和COMMON,默认BD09LL。 参见 SyncCoordinateConverter.CoordType
    • updateOrderWayPointPositionInfo

      public void updateOrderWayPointPositionInfo(List<WayPointDataInfo> wayPointDataInfoList)
      动态更新订单途径点信息 更改完成后,会在一个司机位置拉取间隔之后更新地图上新的途径点ICON 需要注意的是: 1. 如果调用该接口更新了目的地,那么在用户退出司乘同显或者APP退出(杀死)之后 APP的开发者再次进入司乘同显的时候需要以最后更新的目的地来初始化司乘同显; 2. 目的地变更后,会更新目的地Marker并删除旧路线,如果变更事件上传服务端失败,那么 会出现无法绘制新路线的情况 3. 只有普通订单才支持目的地变更,拼单目前不支持
      Parameters:
      wayPointDataInfoList - 新的途径点,必须参数,如果非法或者为Null,则更改不生效
    • release

      public void release()
      释放资源 该方法要早于地图资源释放,即要早于MapView的onDestroy()方法之前 否则会出现地图无法释放,或者crash等问题。
    • setPassengerPositionShareType

      public void setPassengerPositionShareType(SynchronizationConstants.ShareLocationType shareType)
      设置乘客是否开启分享位置功能
    • setSharePassengerPositionListener

      public void setSharePassengerPositionListener(PassengerPositionListener listener)
      设置乘客分享接口
    • setPassengerPositionShareInterval

      public void setPassengerPositionShareInterval(int interval)
      设置乘客分享位置请求间隔
    • setNaviType

      public void setNaviType(NaviType naviType)
      设置导航类型
      Parameters:
      naviType -