বিল্ডিং রূপরেখা এবং প্রবেশদ্বার

আপনার মানচিত্রের রেন্ডারিংগুলিতে ডেটা ভিজ্যুয়ালাইজেশন উন্নত করতে বিল্ডিং রূপরেখা এবং প্রবেশদ্বার পেতে জিওকোডিং API ব্যবহার করুন৷

এটি করার জন্য, অক্ষাংশ/দ্রাঘিমাংশ সমন্বয় জোড়া ফেরানোর জন্য আপনার জিওকোডিং অনুরোধে একটি অতিরিক্ত প্যারামিটার অন্তর্ভুক্ত করুন যা হয় একটি বিল্ডিং রূপরেখা বা একটি প্রবেশদ্বার সংজ্ঞায়িত করে। বিল্ডিং রূপরেখা আঁকতে আপনার অনুরোধের আউটপুট ব্যবহার করুন এবং আপনার মানচিত্রে বিল্ডিং প্রবেশদ্বার নির্দেশ করুন।

  • একটি বিল্ডিং আউটলাইন হল অক্ষাংশ/দ্রাঘিমাংশের সমন্বয় জোড়ার একটি সেট যা বিল্ডিং দ্বারা আচ্ছাদিত পৃথিবীর পৃষ্ঠের ক্ষেত্রফলকে প্রতিনিধিত্ব করে একটি 2D বহুভুজ সংজ্ঞায়িত করে।
  • একটি বিল্ডিং এন্ট্রান্স হল একটি একক অক্ষাংশ/দ্রাঘিমাংশ সমন্বয় জোড়া যা একটি স্থানে প্রবেশ এবং প্রস্থান বিন্দুর অবস্থান নির্ধারণ করে।

ব্যবহার এবং কভারেজ

আপনি একটি একক অনুরোধে একটি একক স্থানের জন্য রূপরেখা বহুভুজ ফেরত দিতে পরিষেবাটি ব্যবহার করতে পারেন। এর মানে হল যে একটি শহর-স্তরের জিওকোডের জন্য অনুরোধ, যেমন লন্ডন, ইউকে, সেই এলাকার মধ্যে সমস্ত বিল্ডিং রূপরেখা ফেরত দেয় না। এই ধরনের ক্ষেত্রে, পরিষেবাটি কোনও বিল্ডিং রূপরেখা বা প্রবেশপথ ছাড়াই একটি মানক জিওকোডিং প্রতিক্রিয়া প্রদান করবে। বিশেষত, পরিষেবাটি শুধুমাত্র নিম্নলিখিত স্থানের প্রকারের জন্য রূপরেখা এবং প্রবেশপথ তৈরি করে:

সমর্থিত স্থান প্রকার

বিল্ডিং

প্রবেশদ্বার

premise

premise

subpremise

subpremise

point_of_interest

point_of_interest

street_address

যদিও এই বৈশিষ্ট্যটি সমস্ত অঞ্চলে ব্যবহারের জন্য উপলব্ধ, কভারেজ অঞ্চল অনুসারে পরিবর্তিত হয়৷ তদ্ব্যতীত, আপনি একটি বিল্ডিং রূপরেখা ধারণ করে এমন API প্রতিক্রিয়াগুলি পাওয়ার আশা করা উচিত, তবে কোনও প্রবেশদ্বার ডেটা নেই৷ এই ক্ষেত্রে, পরিষেবাটি একটি বিল্ডিং রূপরেখা সহ একটি জিওকোডিং প্রতিক্রিয়া প্রদান করবে, তবে প্রবেশদ্বার ডেটা অ্যারে নেই৷ পরিষেবাটি ক্রমাগত প্রবেশদ্বার কভারেজ উন্নত করতে কাজ করে।

বিস্তারিত অনুরোধ করুন

আপনি নিম্নলিখিত ধরণের অনুরোধে বিল্ডিং রূপরেখা এবং প্রবেশদ্বার স্থানাঙ্ক পেতে পারেন:

এই অনুরোধগুলির যেকোনো একটির জন্য, আপনি এই প্যারামিটারটি সরবরাহ করুন: extra_computations=BUILDING_AND_ENTRANCES

উদাহরণ অনুরোধ

মাউন্টেন ভিউ, ক্যালিফোর্নিয়া, মার্কিন যুক্তরাষ্ট্রে একটি রেস্তোরাঁর প্রবেশদ্বার এবং রূপরেখার তথ্য পেতে নিম্নলিখিত ক্যোয়ারীটি স্থান জিওকোডিং ব্যবহার করে:

https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJ4TTDdzS3j4AR78EQgu5EADA&extra_computations=BUILDING_AND_ENTRANCES&key=YOUR_API_KEY

উদাহরণ প্রতিক্রিয়া

বেশিরভাগ ক্ষেত্রে, প্রতিক্রিয়া একটি একক বিল্ডিংয়ের সাথে সম্পর্কিত ক্ষেত্রগুলি ফেরত দেয়, কিন্তু কিছু ক্ষেত্রে, প্রতিক্রিয়াতে একাধিক উপাদান থাকতে পারে, যেমন আগ্রহের পয়েন্ট যা একাধিক বিল্ডিং দখল করে। প্রতিক্রিয়া উপাদান দুটি অ্যারে অন্তর্ভুক্ত:

নিম্নলিখিত ক্ষেত্র সহ একটি buildings[] অ্যারে:

  • place_id

    বিল্ডিংয়ের অনন্য শনাক্তকারী। আরো বিস্তারিত জানার জন্য স্থান আইডি ওভারভিউ দেখুন.

  • building_outlines[]

    বিল্ডিং এর সাথে সম্পর্কিত রূপরেখার একটি অ্যারে। এই অ্যারের শুধুমাত্র একটি এন্ট্রি আছে. building_outlines[] এর প্রতিটি বস্তুর নিম্নলিখিত ক্ষেত্র রয়েছে:

    • display_polygon

    বহুভুজের GeoJSON এনকোডিং যা RFC 7946 ফর্ম্যাট ব্যবহার করে বিল্ডিং দ্বারা আচ্ছাদিত পৃথিবীর পৃষ্ঠের ক্ষেত্রফলকে আনুমানিক করে

নিম্নলিখিত ক্ষেত্র সহ একটি entrances[] অ্যারে:

  • location

    প্রবেশদ্বারের অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক।

  • building_place_id

    প্রবেশদ্বার ধারণ করে বিল্ডিংয়ের জায়গার আইডি। এটি জিওকোড ফলাফলের স্থান আইডি থেকে ভিন্ন, যদি না জিওকোড ফলাফলটি বিল্ডিংয়ের জন্য হয়। এই পরামিতি সর্বদা পপুলেট করা হবে না।

উপরের ক্যোয়ারী থেকে প্রতিক্রিয়া বিল্ডিং অ্যারেতে একটি প্রবেশদ্বার এবং একটি একক বহুভুজ আইটেম দেখায়:

{
  "entrances": [
    {
      "location": {
        "lat": 37.3925065,
        "lng": -122.0799465
      },
      "building_place_id": "ChIJVeHddzS3j4ARFZJVu4Cf27o"
    }
  ],
  "buildings" : [
    {
      "building_outlines" : [
        {
          "display_polygon" : {
            "coordinates" : [
              [
                [
                    -122.080188246116,
                    37.3926407183216
                ],
                [
                    -122.080281351765,
                    37.3924887558601
                ],
                [
                    -122.080023707261,
                    37.392390122414
                ],
                [
                    -122.079926266852,
                    37.3925369491992
                ],
                [
                    -122.080188246116,
                    37.3926407183216
                ]
              ]
            ],
            "type" : "Polygon"
          }
        }
      ],
      "place_id" : "ChIJVeHddzS3j4ARFZJVu4Cf27o"
    }
  ],
}

একটি মানচিত্রে বিল্ডিং রূপরেখা প্রদর্শন করুন

RFC 7946 ফরম্যাট পলিগন এবং মাল্টিপলিগন প্রদর্শনের জন্য JavaScript API-এর অন্তর্নির্মিত সমর্থন রয়েছে। আপনি নিম্নলিখিত হিসাবে এটি করবেন:

  1. বহুভুজ ডেটা ব্যবহার করে একটি বৈশিষ্ট্য বস্তু তৈরি করুন।
  2. বহুভুজে একটি শৈলী প্রয়োগ করুন।
  3. জাভাস্ক্রিপ্ট মানচিত্র অবজেক্টের সাথে বৈশিষ্ট্যটি সংযুক্ত করুন।

buildings অ্যারের প্রতিটি বস্তু building_outlines অ্যারেতে একটি একক অবজেক্ট ধারণ করে। নিম্নলিখিত উদাহরণ দেখায় কিভাবে একটি মানচিত্রে একটি বিল্ডিং রূপরেখা প্রদর্শন করতে হয়:

//This function takes an argument of 'buildings', which is the buildings[] array returned by the API.
async function displayBuildingOutline(buildings) {
    try {
        //Import the Google Maps Data library.
        const { Data } = await google.maps.importLibrary("maps")
        //Loop though the array of building outlines.
        buildings.forEach(building => {
            const features = []
            const buildingOutlines = building.building_outlines;
            //Add each building outline to a Feature object, and push this to an array of Features.
            buildingOutlines.forEach(buildingOutline => {
                const feature = {
                    type: "Feature",
                    properties: {},
                    geometry: buildingOutline.display_polygon
                }
                features.push(feature);
            });
            //Create a new Google Maps Data object, and apply styling.
            //We also assume the reference to the map on the page is named 'map'.
            //This applies the Data object to the map on the page.
            outlineLayer = new google.maps.Data({
                map,
                style: {
                    strokeColor: "#0085cc",
                    strokeOpacity: 1,
                    strokeWeight: 2,
                    fillColor: "#88d4fc",
                    fillOpacity: 0.5,
                },
            });
            //Add the array of Features created earlier to the Data object, as GeoJson.
            outlineLayer.addGeoJson({
                type: "FeatureCollection",
                features: features,
            });
        });
    } catch (e) {
        console.log('Building outlines failed. Error: ' + e)
    }
}

উপরের কোডটি ব্যবহার করে, এই নথিতে পূর্বে উদাহরণ প্রতিক্রিয়ার মধ্যে জিওকোডিং API দ্বারা প্রত্যাবর্তিত বিল্ডিং রূপরেখাটি মানচিত্রে নিম্নরূপ রেন্ডার করা হয়েছে:

মানচিত্রে রেন্ডার করা ভবনের রূপরেখা

প্রান্ত মামলা

আপনি নিম্নলিখিত প্রান্তের ক্ষেত্রেও সম্মুখীন হতে পারেন; যাইহোক, উপরের নমুনা কোড এখনও এই জন্য কাজ করবে:

  1. একাধিক বিল্ডিং রূপরেখা সহ একটি প্রতিক্রিয়া।
  2. একাধিক বহুভুজ প্রতিনিধিত্বকারী একটি একক building_outlines অবজেক্ট।

উদাহরণস্বরূপ, জায়গা আইডি ChIJGxgH9QBVHBYRl13JmZ0BFgo এর প্রতিক্রিয়াতে দুটি building_outlines[] অ্যারে ফলাফল রয়েছে:

"buildings": [
    {
        "building_outlines": [
            {
                "display_polygon": {
                    "coordinates": [
                        [
                            [
                                44.3313253363354,
                                13.636033631612
                            ],
                            [
                                44.3312576355624,
                                13.6362094887862
                            ],
                            [
                                44.3310854239923,
                                13.6361461767801
                            ],
                            [
                                44.3311531250111,
                                13.6359703194634
                            ],
                            [
                                44.3313253363354,
                                13.636033631612
                            ]
                        ]
                    ],
                    "type": "Polygon"
                }
            }
        ],
        "place_id": "ChIJ24NWUBhUHBYRSEmPBFa1wgc"
    },
    {
        "building_outlines": [
            {
                "display_polygon": {
                    "coordinates": [
                        [
                            [
                                44.330737534504,
                                13.6357057440832
                            ],
                            [
                                44.3307248314371,
                                13.6357390350529
                            ],
                            [
                                44.3306985591742,
                                13.635729486373
                            ],
                            [
                                44.3307114066013,
                                13.6356960265536
                            ],
                            [
                                44.330737534504,
                                13.6357057440832
                            ]
                        ]
                    ],
                    "type": "Polygon"
                }
            }
        ],
        "place_id": "ChIJpzQOABlUHBYRxiOC9goY1fE"
    }
]

উপরের জাভাস্ক্রিপ্ট কোড নমুনা ব্যবহার করে, আমরা মানচিত্রে উভয় রূপরেখা রেন্ডার করতে সক্ষম:

মানচিত্রে রেন্ডার করা দুটি বিল্ডিং রূপরেখা

প্রতিক্রিয়া

এটি একটি পরীক্ষামূলক বৈশিষ্ট্য। আমরা বিল্ডিং-in-geocoding-feedback-channel@google.com- এ প্রতিক্রিয়ার প্রশংসা করব।