路径规划类型 最后更新时间: 2021年01月22日
点到商铺
1)函数体:
excutePlanningPointToPoi(java.lang.String buildingId, int startFloorNo, double startX, double startY, java.lang.String stopPoiId);
2)功能诠释:
基于指定的建筑物,算出从指定楼层经纬度点为起点、指定商铺为终点的路算结果,并通过路算监听器接口返回该结果。
3)参数诠释:
参数 | 数据类型 | 用处 |
---|---|---|
buildingId | String | 建筑物ID |
startFloorNo | Int | 开始点楼层编号 |
startX | double | 开始点经度 |
startY | double | 开始点纬度 |
stopPoiId | String | 结束商铺ID |
商铺到点
1)函数体:
excutePlanningPoiToPoint(java.lang.String buildingId, java.lang.String startPoiId, int stopFloorNo, double stopX, double stopY);
2)功能诠释:
基于指定的建筑物,算出从指定商铺为起点、指定楼层经纬度点为终点的路算结果,并通过路算监听器接口返回该结果。
3)参数诠释:
参数 | 数据类型 | 用处 |
---|---|---|
buildingId | String | 建筑物ID |
startPoiID | String | 开始点商铺ID |
stopFloorNo | int | 结束点楼层编号 |
stopX | double | 结束点经度 |
stopY | double | 结束点纬度 |
点到点
1)函数体:
excutePlanningPointToPoint(java.lang.String buildingId, int startFloorNo, double startX, double startY, int stopFloorNo, double stopX, double stopY);
2)功能诠释:
基于指定的建筑物,算出从指定经纬度点为起点、指定楼层经纬度点为终点的路算结果,并通过路算监听器接口返回该结果。
3)参数诠释:
参数 | 数据类型 | 用处 |
---|---|---|
buildingId | String | 建筑物ID |
startFloorNo | Int | 开始点楼层编号 |
startX | double | 开始点经度 |
startY | double | 开始点纬度 |
stopFloorNo | int | 结束点楼层编号 |
stopX | double | 结束点经度 |
stopY | double | 结束点纬度 |
商铺到商铺
1)函数体:
excutePlanningPoiToPoi(java.lang.String buildingId, java.lang.String startPoiId, java.lang.String stopPoiId);
2)功能诠释:
基于指定的建筑物,算出从指定商铺为起点、指定商铺点为终点的路算结果,并通过路算监听器接口返回该结果。
3)参数诠释:
参数 | 数据类型 | 用处 |
---|---|---|
buildingId | String | 建筑物ID |
startPoiID | String | 开始点商铺ID |
stopPoiId | String | 结束商铺ID |
调用示例
// 创建路算对象
IMRoutePlanning routePlanning = new IMRoutePlanning(this.getActivity(),
mRoutePlanningListener);
// 获取当前建筑物ID
String buildingId = IMDataManager.getInstance().getCurrentBuildingId();
// 执行点到商铺的路算
routePlanning.excutePlanningPointToPoi(buildingId, fromMapCell.getFloorNo(),
fromMapCell.getX(), fromMapCell.getY(), toMapCell.getPoiId());
/**
* 路算回调接口
*/
private IMRoutePlanningListener mRoutePlanningListener = new IMRoutePlanningListener() {
@Override
public void onPlanningSuccess(String routePlanningData) {
mIndoorMapFragment.clearRouteResult();
mIndoorMapFragment.setRouteStart(fromPoiId); // 通过PoiId设置起点PoiId点
mIndoorMapFragment.setRouteStop(toPoiId); // 通过PoiId设置终点PoiId点
mIndoorMapFragment.setRouteData(routePlanningData); // 设置路算数据
mIndoorMapFragment.refreshMap(); // 刷新地图
}
@Override
public void onPlanningFailure(RoutePLanningStatus statusCode) {
// TODO Auto-generated method stub
Toast.makeText(getActivity(), "路算失败,失败码:" + statusCode, Toast.LENGTH_LONG).show();
}
};