如何解决Azure IoT教程中获取地图路线失败的问题
Azure Maps路线查询失败排查方案
- 确认Azure Maps资源配置正确:检查你填写的Azure Maps密钥是否和你创建的资源匹配,资源已开通Route API访问权限,定价层支持路线查询,且当前调用量未超出资源限额。
- 校验路线查询参数:在构造
RouteRequestDirections的代码后新增日志打印req.Query的实际值,确认参数格式为起点纬度,起点经度:终点纬度,终点经度,经纬度数值合法(纬度取值范围-9090,经度取值范围-180180),未出现经纬度顺序颠倒、非法字符等问题。 - 输出接口错误详情排查:修改错误分支的代码,打印Azure Maps返回的具体错误信息,可直接定位问题根因:
if (directions.Error != null || directions.Result == null) { // 新增此行打印错误详情 Console.WriteLine($"Azure Maps返回错误:{directions.Error?.Message},错误码:{directions.Error?.Code}"); redMessage("Failed to find map route"); }
- 确认坐标点支持路线规划:如果起点/终点位于无道路覆盖的区域、海洋中,或是两点距离过近,都会触发路线规划失败。你可以将打印出的查询参数手动校验,确认两点均为可规划路线的合法点位。
- 确认网络连通性:运行代码的设备需要能够正常访问Azure Maps服务接口,检查本地防火墙、代理规则未拦截Azure Maps的API请求。
- 适配Azure区域配置:如果你使用的是中国区Azure资源,需要在初始化
azureMapsServices时手动指定中国区Azure Maps服务终结点,使用默认全球终结点会导致鉴权失败。
内容的提问来源于stack exchange,提问作者gh0s1
相关产品推荐
相关产品推荐

