Processar e visualizar a resposta da API Isochrones

A API Isochrones retorna a geometria no formato GeoJSON padrão. A resposta contém um objeto de geometria MultiPolygon.

As áreas isócronas acessíveis nem sempre são formas únicas contíguas. Por exemplo, uma ponte geralmente permite o acesso a uma ilha, criando uma área acessível separada do continente. Além disso, bolsões inacessíveis, como um condomínio fechado particular ou um lago, criam buracos dentro do polígono principal.

O exemplo a seguir mostra um formato de resposta típico. O GeoJSON segue a ordem de coordenadas [longitude, latitude].

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

Visualizar a isócrona em um mapa

Como a API retorna o GeoJSON padrão, é possível visualizar a resposta usando a API Maps JavaScript. A classe google.maps.Data oferece suporte nativo ao GeoJSON, o que significa que não é necessário inverter manualmente a ordem de coordenadas [longitude, latitude].

O snippet de JavaScript a seguir demonstra como adicionar a resposta da API diretamente a um mapa:

// 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
});