处理并直观呈现 Isochrones API 响应

等时线 API 以标准 GeoJSON 格式返回几何图形。响应包含一个 MultiPolygon 几何对象。

可达等时面区域并不总是连续的单一形状。例如,桥梁通常可通往岛屿,从而形成与大陆分离的可达区域。此外,无法到达的区域(例如私人封闭式社区或湖泊)会在主多边形内形成孔洞。

以下示例展示了典型的响应格式。请注意,GeoJSON 遵循 [longitude, latitude] 坐标顺序。

{
  "isochrone": {
    "geoJson": {
      "type": "MultiPolygon",
      "coordinates": [
        [
          [
            [-122.332100, 47.606200],
            [-122.332200, 47.606300],
            ...
          ]
        ]
      ]
    }
  }
}

在地图上直观呈现等时线

由于该 API 会返回标准 GeoJSON,因此您可以使用 Maps JavaScript API 直观呈现响应。google.maps.Data 类原生支持 GeoJSON,这意味着您无需手动反转 [longitude, latitude] 坐标顺序。

以下 JavaScript 代码段演示了如何将 API 响应直接添加到地图中:

// Assume 'map' is an initialized google.maps.Map object
// and 'response' is the JSON payload returned by the Isochrones API.

const isochroneGeoJson = response.isochrone.geoJson;

// Add the GeoJSON directly to the map's data layer
map.data.addGeoJson(isochroneGeoJson);

// Optional: Apply custom styling to the isochrone polygon
map.data.setStyle({
  fillColor: '#4285F4',
  fillOpacity: 0.3,
  strokeColor: '#4285F4',
  strokeWeight: 2
});