司乘同显乘客端sdk支持设置地图上的覆盖物等元素距离地图四周的内边距,用于将自定义标注和路线等覆盖物根据设置的内边距调整到最佳视野范围。
具体代码使用如下:
// 设置地图上子view距离地图view(布局)的边距mdisplayoptions.setmapviewpadding(200,300,200,300);
司乘同显sdk支持自定义司机位置刷新时间间隔。设置车辆位置刷新时间间隔;
具体方法使用如下:
// 设置司机位置刷新频率设置,刷新频率,单位是秒,默认2s,取值范围为[1, 30]msyncdisplaymanager.setdriverpositionfreshfrequency(3);
司乘同显sdk支持自定义最佳视野范围的调整间隔时间。用户没有操作时,随着剩余距离的减少,sdk将保证剩余路线、小车和终点及其infowindow处于最佳视野范围,sdk将自动调整地图显示区域。通过设置setunoperatedmapfrozeninterval(10)方法,来自定义自动调整的时间间隔,如果没有到达下一个时间调整节点,即使当前有需要显示的标注已经超出屏幕范围之外,也不会自动调整地图显示区域。用户手动操作地图之后,如果需要经过一段时间之后,才允许sdk自动调整地图的显示区域,则可以通过设置setoperatedmapfrozeninterval(10) 方法,将sdk自动调整地图视野范围的时间冻结。每次用户操作之后,都会等待该方法设置的时间间隔之后,sdk才会自动调整地图的最佳视野范围。
// 设置在地图未被操作状态下,缩放冻结时间,地图缩放禁止间隔,默认值为5s。地图未操作状态下,取值范围为[10, 20]smsyncdisplaymanager.setunoperatedmapfrozeninterval(10);// 设置在地图被操作状态下,缩放冻结时间,地图缩放禁止间隔,默认值为5s。地图被操作状态下,取值范围为[10, 30]s;msyncdisplaymanager.setoperatedmapfrozeninterval(10);
用户在使用乘客app时可能会手动调整地图,如果想立即调整到视野最佳视野范围可以写个控件调用adjustvisiblespanbyuser()方法来调整, 也可以通过自定义padding方式调整到最佳范围。
默认最佳视野方法使用如下:
// 使用已经设置的(或默认的)padding值进行最佳视野立即适配msyncdisplaymanager.adjustvisiblespanbyuser();
通过padding方式调整最佳视野如下:
// 指定新的padding值进行最佳视野立即适配msyncdisplaymanager.adjustvisiblespanbyuser(200,300,200,500);
通过displayoptions对象设置标注与路线的显示样式。包括小车、起终点的图片,路线宽度,路况纹理等。
sdk均提供默认值,没有特殊需求,可以不设置。更多设置可以参考displayoptions类参考说明。
注意:如果使用sdk提供的默认绘制样式,则直接使用默认构造函数即可。但是如果自定义,传入参数为null,则会抛出参数异常。
订单起点infowindow,订单终点infowindow,小车infowindow sdk均不提供默认样式,乘客端app自行设置不同订单状态下infowindow的弹出框。小车infowindow 可随小车在地图上平滑移动。
订单起点infowindow具体的方法如下:
// 设置展示起点气泡信息button startinfo =newbutton(this);startinfo.settext("请在这里上车");startinfo.setbackgroundresource(r.drawable.infowindow);// 设置订单起点infowindow的view控件mdisplayoptions.setstartpositioninfowindowview(startinfo);// 设置订单起点infowindow是否显示在地图上,默认是truemdisplayoptions.showstartpositioninfowindow(true);
订单终点infowindow具体的方法如下:
//设置订单终点infowindow的view控件mdisplayoptions.setendpositioninfowindowview(infowindowview);
小车infowindow具体的方法如下:
// 设置订单终点infowindow的view控件mdisplayoptions.setcarinfowindowview(startinfo);
开发者在调试时可以通过以下接口开启日志开关,方便调试。
// 打开日志默认是关闭的synchronizationutil.setdebugenable(true);
上一篇
下一篇
本篇文章对您是否有帮助?