Isochrones API, RFC 7946'ya uygun standart GeoJSON biçiminde geometri döndürür. Yanıt her zaman isochrone.geoJson (gRPC'de isochrone.geo_json) altında bir MultiPolygon geometri nesnesi içerir:
- Koordinat sırası: Her konum, WGS 84 ondalık derece cinsinden bir
[longitude, latitude]çiftidir. - Birden fazla poligon (
coordinates[i]): Erişilebilir eş zamanlı alanlar, birden fazla ayrık poligondan oluşabilir (örneğin, yüksek hızlı bir köprü veya tünel ayrı bir erişilebilir cebe bağlandığında ya da±180°antimeridyeni geçen bir poligon, RFC 7946 §3.1.9 uyarınca meridyen boyunca bölündüğünde). - Dış kabuklar ve iç delikler (
coordinates[i][j]): Her çokgencoordinates[i]içinde, ilk doğrusal halka (coordinates[i][0]) saat yönünün tersine sarılmış dış kabuktur ve sonraki doğrusal halkalar (coordinates[i][1..k]), RFC 7946 §3.1.6 sağ el kuralına göre saat yönünde sarılmış iç delikleri (göller, parklar veya haritalandırılmamış cepler gibi) temsil eder. Her lineer çember kapalıdır (ilk ve son[longitude, latitude]konumları aynıdır).
Aşağıdaki örnekte, iç deliği olan bir ana poligon ve ikinci bir ayrık poligon içeren MultiPolygon yanıtı gösterilmektedir:
{
"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]
]
]
]
}
}
}
Eş zamanlılık haritasını görselleştirme
API, standart GeoJSON döndürdüğünden yanıtı Maps JavaScript API'yi kullanarak görselleştirebilirsiniz. google.maps.Data sınıfı, GeoJSON'u yerel olarak destekler. Bu nedenle, [longitude,
latitude] koordinat sırasını manuel olarak tersine çevirmeniz gerekmez.
Aşağıdaki JavaScript snippet'i, API yanıtının doğrudan haritaya nasıl ekleneceğini gösterir:
// 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
});