如何计算入站“通勤”等时线(前往目的地)与出站等时线(从出发地出发)?
v1 API 使用 travel_direction 参数支持入站和出站计算:
FROM(出站):计算在指定时间限制内可从from出发点 到达的区域。这适用于配送区域或服务覆盖范围等用例。TO(入站):计算在指定时间限制内可从该区域到达to出发点的区域。这适用于通勤功能或确定中央办公室或交通枢纽周围的集水区等应用。
有时,返回的多边形看起来呈块状,或具有锯齿状的阶梯式边缘,尤其是在持续时间较长的情况下。为什么详细程度会发生变化?
Isochrones API 会根据请求的 travel_duration 和 travel_mode 动态调整其空间计算网格的分辨率:
- 持续时间较短:使用高度精细的高分辨率网格,因为总面积较小,因此边界详细。
- 持续时间较长:过渡到更粗糙、分辨率更低的网格,以便高效覆盖广阔的地理区域,而不会导致严重的延迟。
如果您需要特定的、一致的详细程度,无论持续时间如何,都可以将可选的 polygon_fidelity 设置为 HIGH、MEDIUM 或
LOW。
为什么有时请求公园、湖泊或大型工业园区内坐标的等时线会返回“未找到”错误?
Isochrones API 使用道路和路径计算行程时间。如果请求的出发地坐标不在已识别的道路上,API 必须先将该点“贴靠”到最近的兼容路段,然后才能开始计算。
每种出行方式都有特定的最大吸附距离阈值:
DRIVE:200 米(忽略仅限行人的路径)。TWO_WHEELER:200 米(忽略仅限行人的路径)。BICYCLE:180 米。WALK:150 米。
如果您的出发地坐标与有效且与出行方式兼容的路段的距离超过这些阈值,吸附会失败,并且 API 会返回 NOT_FOUND
错误。如需解决此问题,请确保您的坐标位于公共街道或路径附近。
为什么我在请求步行或骑自行车的交通感知路线时会收到错误?
DRIVE 和 TWO_WHEELER 出行方式支持实时路况信息 (TRAFFIC_AWARE)。如果您尝试为 WALK 或 BICYCLE 请求等时线,并将 routingPreference 设置为 TRAFFIC_AWARE,API
会返回 400 INVALID_ARGUMENT 错误。
我在地图上渲染 GeoJSON 响应时,形状显示在错误的位置、失真或无法渲染。这是什么原因造成的?
这几乎总是由坐标顺序不匹配造成的。
按照 GeoJSON 标准 (RFC 7946),Isochrones API 返回的坐标顺序为 [longitude, latitude]。但是,许多地图 SDK 和自定义几何图形对象都希望坐标的顺序为 [latitude, longitude]。
如果地图渲染不正确,请检查地图 SDK 如何处理 GeoJSON:
- Google Maps JavaScript API: 如果您使用的是数据层 (
map.data.addGeoJson()),系统会以原生方式处理此顺序,无需执行任何操作。 - 自定义对象或其他 SDK: 如果您要手动将响应解析为
LatLng对象,则必须遍历 GeoJSON 载荷中的坐标,并将[lng, lat]值转换为[lat, lng]对,然后再进行渲染。
为什么我的等时线多边形内有空心的“孔洞”,我可以改为获取实心形状吗?
孔洞表示在时间限制内没有可到达的道路的区域。这在拥有大片森林、水体、机场或车辆或行人无法通行的私人财产的区域很常见。
外部 v1 API 不会公开用于自动移除孔洞的参数。 如果您的应用需要实心边界(例如,执行多边形内点包含检查),您可以:
- 将
polygon_fidelity参数设置为MEDIUM或LOW,以鼓励算法概括和合并这些内部间隙。 - 使用客户端 GIS 库(例如 Turf.js)解析 GeoJSON,并仅提取第一个坐标环(外部外壳),舍弃任何后续内部环(孔洞)。
我是否应为后端空间分析启用 enable_smoothing 选项?
否。enable_smoothing 参数纯粹是为了视觉美观而设计的。
它会使底层计算网格的尖角变圆,使形状在地图上看起来更自然。
对于精确的空间分析,不建议进行平滑处理,因为它会改变顶点并略微移动边界。对于后端计算、数据库查询或多边形内点测试,请将
enable_smoothing 设置为 false,以确保您使用的是数学上精确的计算边界。