{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516343328,"data":{"id":71712058,"title":"5.4.3.12 高速服务区","slug":"lzg4sp","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"
导航引导过程中,透出前方的服务区(SAPA)和收费站信息。
public final class NaviFacilityType {\n public static final int NaviFacilityTypeServiceArea = 0; \t// 服务区\n public static final int NaviFacilityTypeTollGate = 1; \t\t// 收费站\n public static final int NaviFacilityTypeCheckPoint = 2;\t\t// 检查站\n}
void com.autonavi.gbl.guide.observer.INaviObserver.onUpdateSAPA(ArrayList<NaviFacility> serviceAreaList)
long com.autonavi.gbl.guide.GuideService.obtainSAPAInfo(boolean isfindRemainPath)
需要开始导航后才能请求;
isfindRemainPath = True: 查询剩余路线上的服务区和收费站,False: 只查询当前车辆所在高速路段上的服务区和收费站(要求当前车辆需要在高速上)
void com.autonavi.gbl.guide.observer.INaviObserver.onObtainSAPAInfo(SAPAInquireResponseData respData)
说明:函数详情,请复制函数名称到在线API搜索
INaviObserver naviObserver = new INaviObserver() {\n\t@Override\n\tpublic void onUpdateSAPA(ArrayList<NaviFacility> arrayList) {\n\t for (NaviFacility facility : arrayList){\n\t int type = facility.type; // 类型\n\t int remainDist = facility.remainDist; //到当前车位的剩余距离\n\t String name = facility.name; // 服务区名称\n\t long sapaDetail = facility.sapaDetail;//服务区详细信息:按位标识(0-没有,1-有),见 SapaDetailType\n\t short payTip = facility.payTip; //支持的付款方式:按位标识, 默认:0x00, 支付宝: 0x01\n\t // todo: HMI绘制到卡片上\n\t // ...\n\t }\n\t}\n};
// 请求服务区信息\n// 发起请求,返回请求ID\nlong iReqId = mGuideService.obtainSAPAInfo(true);\n...
INaviObserver naviObserver = new INaviObserver() {\n @Override\n public void onObtainSAPAInfo(SAPAInquireResponseData respData) {\n \tif (respData == null) return;\n\n long reqID = respData.requestID; //请求ID\n if (respData.serviceAreaInfo != null) {\n naviFacilities = respData.serviceAreaInfo.serviceAreaList;\n // serviceAreaInfo.remainServiceAreaNum) // 剩余服务区个数\n // serviceAreaInfo.remainFreewayDistance) // 剩余高速里程 (当前自车位到查询的最后一段高速的里程总和,单位米)\n // serviceAreaInfo.remainFreewayTime);// 剩余高速时间 (当前自车位到查询的最后一段高速的时间总和,单位秒)\n }\n\n // SAPA信息列表\n // SAPA信息个数\n int size = naviFacilities.size();\n for (int i = 0; i < size; i++) {\n // 服务区信息item\n NaviFacility item = naviFacilities.get(i);\n // 服务区item坐标\n Coord2DDouble pos = item.pos;\n }\n // todo ...HMI绘制在UI上\n }\n ...\n};