Isochrones API রেসপন্স ম্যানেজ ও ভিজ্যুয়ালাইজ করা

Isochrones API, RFC 7946 অনুযায়ী স্ট্যান্ডার্ড GeoJSON ফর্ম্যাটে জিওমেট্রি রিটার্ন করে। উত্তরে সবসময় isochrone.geoJson-এর (gRPC-তে isochrone.geo_json) অধীনে MultiPolygon জিওমেট্রি অবজেক্ট থাকে:

  • অর্ডার কোঅর্ডিনেট করুন: প্রতিটি পজিশন হল WGS 84 দশমিক ডিগ্রিতে [longitude, latitude] পেয়ার।
  • একাধিক পলিগন (coordinates[i]): পৌঁছানো যায় এমন আইসোক্রোন এলাকা একাধিক বিচ্ছিন্ন পলিগন নিয়ে গঠিত হতে পারে (যেমন, যখন একটি হাই-স্পিড ব্রিজ বা টানেল একটি পৃথক পৌঁছানো যায় এমন পকেটের সাথে সংযোগ করে, অথবা যখন একটি পলিগন ±180° অ্যান্টিমেরিডিয়ান অতিক্রম করে RFC 7946 §3.1.9 অনুযায়ী মেরিডিয়ান বরাবর বিভক্ত হয়)।
  • এক্সটেরিয়র শেল ও ইন্টেরিয়র হোল (coordinates[i][j]): প্রতিটি বহুভুজের coordinates[i] মধ্যে, প্রথম লিনিয়ার রিং (coordinates[i][0]) হল ঘড়ির কাঁটার বিপরীতে ঘোরা এক্সটেরিয়র শেল এবং পরবর্তী যেকোনও লিনিয়ার রিং (coordinates[i][1..k]) RFC 7946 §3.1.6 ডান-হাতের নিয়ম অনুযায়ী ঘড়ির কাঁটার দিকে ঘোরা ইন্টেরিয়র হোল (যেমন, হ্রদ, পার্ক বা ম্যাপ না করা পকেট) দেখায়। প্রতিটি লিনিয়ার রিং বন্ধ (এর প্রথম ও শেষ [longitude, latitude] পজিশন একই)।

নিচের উদাহরণে একটি MultiPolygon উত্তর দেখানো হয়েছে যাতে একটি প্রধান পলিগন রয়েছে যার মধ্যে একটি গর্ত এবং দ্বিতীয় একটি বিচ্ছিন্ন পলিগন রয়েছে:

{
  "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]
          ]
        ]
      ]
    }
  }
}

ম্যাপে আইসোক্রোন দেখুন

API স্ট্যান্ডার্ড GeoJSON রিটার্ন করে বলে, আপনি Maps JavaScript API ব্যবহার করে উত্তরটি দেখতে পারবেন। google.maps.Data ক্লাস নেটিভভাবে GeoJSON-কে সাপোর্ট করে, যার অর্থ হল আপনাকে ম্যানুয়ালি [longitude, latitude] কোঅর্ডিনেট অর্ডার রিভার্স করতে হবে না।

নিম্নলিখিত জাভাস্ক্রিপ্ট স্নিপেট দেখায় যে কীভাবে সরাসরি ম্যাপে API রেসপন্স যোগ করতে হয়:

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