Isochrones API menampilkan geometri dalam format GeoJSON standar yang sesuai dengan
RFC 7946. Respons selalu berisi objek geometri MultiPolygon di bagian isochrone.geoJson (isochrone.geo_json di gRPC):
- Urutan koordinat: Setiap posisi adalah pasangan
[longitude, latitude]dalam derajat desimal WGS 84. - Beberapa poligon (
coordinates[i]): Area isokron yang dapat dijangkau dapat terdiri dari beberapa poligon yang terpisah (misalnya, saat jembatan atau terowongan berkecepatan tinggi terhubung ke kantong terpisah yang dapat dijangkau, atau saat poligon yang melintasi antimeridian±180°dibagi di sepanjang meridian sesuai RFC 7946 §3.1.9). - Cangkang eksterior dan lubang interior (
coordinates[i][j]): Dalam setiap poligoncoordinates[i], cincin linear pertama (coordinates[i][0]) adalah cangkang eksterior yang melingkar berlawanan arah jarum jam, dan cincin linear berikutnya (coordinates[i][1..k]) mewakili lubang interior (seperti danau, taman, atau kantong yang belum dipetakan) yang melingkar searah jarum jam sesuai dengan aturan tangan kanan RFC 7946 §3.1.6. Setiap cincin linier ditutup (posisi[longitude, latitude]pertama dan terakhirnya identik).
Contoh berikut menunjukkan respons MultiPolygon yang berisi poligon utama dengan lubang interior dan poligon kedua yang terpisah:
{
"isochrone": {
"geoJson": {
"type": "MultiPolygon",
"coordinates": [
[
[
[-122.340000, 47.600000],
[-122.320000, 47.600000],
[-122.320000, 47.615000],
[-122.340000, 47.615000],
[-122.340000, 47.600000]
],
[
[-122.334000, 47.604000],
[-122.334000, 47.609000],
[-122.328000, 47.609000],
[-122.328000, 47.604000],
[-122.334000, 47.604000]
]
],
[
[
[-122.355000, 47.602000],
[-122.348000, 47.602000],
[-122.348000, 47.608000],
[-122.355000, 47.608000],
[-122.355000, 47.602000]
]
]
]
}
}
}
Memvisualisasikan isochrone di peta
Karena API menampilkan GeoJSON standar, Anda dapat memvisualisasikan respons menggunakan Maps JavaScript API. Class google.maps.Data mendukung GeoJSON secara native, yang berarti Anda tidak perlu membalik urutan koordinat [longitude,
latitude] secara manual.
Cuplikan JavaScript berikut menunjukkan cara menambahkan respons API langsung ke peta:
// Assume 'map' is an initialized google.maps.Map object
// and 'responseData' is the parsed JSON payload returned by the Isochrones API.
const isochroneGeoJson = responseData.isochrone.geoJson;
// Wrap the geometry in a standard GeoJSON Feature
const geoJsonFeature = {
type: "Feature",
geometry: isochroneGeoJson,
properties: {}
};
// Add the GeoJSON Feature to the map's data layer
map.data.addGeoJson(geoJsonFeature);
// Optional: Apply custom styling to the isochrone polygon
map.data.setStyle({
fillColor: '#4285F4',
fillOpacity: 0.3,
strokeColor: '#4285F4',
strokeWeight: 2
});