আপনার ম্যাপ রেন্ডারিং-এ ডেটা ভিজ্যুয়ালাইজেশন উন্নত করতে জিওকোডিং এপিআই ব্যবহার করে বিল্ডিংয়ের রূপরেখা ও প্রবেশপথগুলো সংগ্রহ করুন।
এটি করার জন্য, আপনার জিওকোডিং অনুরোধে একটি অতিরিক্ত প্যারামিটার অন্তর্ভুক্ত করুন যা অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক জোড়া ফেরত দেবে এবং যা একটি ভবনের রূপরেখা বা প্রবেশপথ নির্ধারণ করবে। আপনার মানচিত্রে ভবনের রূপরেখা আঁকতে এবং ভবনের প্রবেশপথ নির্দেশ করতে আপনার অনুরোধের আউটপুট ব্যবহার করুন।
- একটি ভবনের রূপরেখা হলো অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক জোড়ের একটি সেট , যা একটি দ্বি-মাত্রিক বহুভুজকে সংজ্ঞায়িত করে এবং ভবনটি দ্বারা আচ্ছাদিত ভূপৃষ্ঠের ক্ষেত্রফলকে প্রতিনিধিত্ব করে।
- ভবনের প্রবেশপথ হলো একটি একক অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক জোড়া, যা কোনো স্থানে প্রবেশ ও প্রস্থানের স্থানকে নির্দেশ করে।
ব্যবহার ও কভারেজ
আপনি এই পরিষেবাটি ব্যবহার করে একটিমাত্র অনুরোধে একটি নির্দিষ্ট স্থানের জন্য রূপরেখা বহুভুজ (outline polygons) পেতে পারেন। এর মানে হলো, লন্ডন, ইউকে-এর মতো শহর-স্তরের জিওকোডের জন্য করা অনুরোধ সেই এলাকার সমস্ত ভবনের রূপরেখা ফেরত দেয় না। এই ধরনের ক্ষেত্রে, পরিষেবাটি কোনো ভবনের রূপরেখা বা প্রবেশপথ ছাড়া একটি সাধারণ জিওকোডিং প্রতিক্রিয়া ফেরত দেবে। বিশেষভাবে, এই পরিষেবাটি শুধুমাত্র নিম্নলিখিত স্থানের প্রকারগুলির জন্য রূপরেখা এবং প্রবেশপথ তৈরি করে:
সমর্থিত স্থানের প্রকারগুলি
ভবন | প্রবেশপথ |
|---|---|
| |
| |
| |
|
যদিও এই ফিচারটি সব অঞ্চলে ব্যবহারের জন্য উপলব্ধ, এর আওতা অঞ্চলভেদে ভিন্ন হয়। এছাড়াও, আপনি এমন এপিআই (API) রেসপন্স পেতে পারেন যাতে একটি বিল্ডিংয়ের রূপরেখা থাকবে, কিন্তু কোনো প্রবেশপথের ডেটা থাকবে না। এই ক্ষেত্রে, সার্ভিসটি একটি বিল্ডিংয়ের রূপরেখা সহ জিওকোডিং রেসপন্স ফেরত দেবে, কিন্তু কোনো প্রবেশপথের ডেটা অ্যারে দেবে না। সার্ভিসটি প্রবেশপথের আওতা উন্নত করার জন্য ক্রমাগত কাজ করে যাচ্ছে।
অনুরোধের বিবরণ
আপনি নিম্নলিখিত ধরনের অনুরোধের মাধ্যমে ভবনের রূপরেখা এবং প্রবেশপথের স্থানাঙ্ক পেতে পারেন:
এই অনুরোধগুলির যেকোনোটির জন্য, আপনাকে এই প্যারামিটারটি সরবরাহ করতে হবে: extra_computations=BUILDING_AND_ENTRANCES ।
উদাহরণ অনুরোধ
নিম্নলিখিত কোয়েরিটি মার্কিন যুক্তরাষ্ট্রের ক্যালিফোর্নিয়ার মাউন্টেন ভিউতে অবস্থিত একটি রেস্তোরাঁর প্রবেশপথ এবং বাহ্যিক রূপরেখার তথ্য পেতে প্লেস জিওকোডিং ব্যবহার করে:
https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJl2tj2-62j4ARzKWl1WCXLJI&extra_computations=BUILDING_AND_ENTRANCES&key=YOUR_API_KEY
উদাহরণ প্রতিক্রিয়া
বেশিরভাগ ক্ষেত্রে, প্রতিক্রিয়াটি একটিমাত্র ভবন এবং তার পরিচিত প্রবেশপথগুলো ফেরত দেয়। কিন্তু কিছু ক্ষেত্রে, প্রতিক্রিয়ায় একাধিক ভবন থাকতে পারে, যেমন একাধিক ভবন জুড়ে থাকা দর্শনীয় স্থান। ভবন এবং প্রবেশপথগুলো নিম্নলিখিত দুটি অ্যারের মাধ্যমে উপস্থাপন করা হয়:
একটি buildings[] অ্যারে, যাতে এক বা একাধিক ভবন থাকে। প্রতিটি ভবনে নিম্নলিখিত ফিল্ডগুলো থাকে:
place_idভবনটির অনন্য শনাক্তকারী। আরও বিস্তারিত তথ্যের জন্য স্থান আইডি-সমূহের সংক্ষিপ্ত বিবরণ দেখুন।
building_outlines[]বিল্ডিংটির সাথে সম্পর্কিত রূপরেখাগুলোর একটি অ্যারে। এই অ্যারেতে কেবল একটি এন্ট্রি থাকে।
building_outlines[]এর প্রতিটি অবজেক্টে নিম্নলিখিত ফিল্ডটি রয়েছে:-
display_polygon
RFC 7946 ফরম্যাট ব্যবহার করে, ভবন দ্বারা আবৃত ভূপৃষ্ঠের ক্ষেত্রফলকে আনুমানিক করে এমন বহুভুজের GeoJSON এনকোডিং।
-
একটি entrances[] অ্যারে, যার নিম্নলিখিত ফিল্ডগুলো রয়েছে:
locationপ্রবেশপথের অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক।
building_place_idbuildings[]এ থাকা বিল্ডিংটির প্লেস আইডি, যেটিতে এই প্রবেশপথটি রয়েছে। এটি আপনাকে শনাক্ত করতে সাহায্য করে যে কোন বিল্ডিংয়ে কোন প্রবেশপথ রয়েছে। এই প্রবেশপথটিbuildings[]এরiতম ইন্ডেক্সে থাকা বিল্ডিংটির সাথে সম্পর্কিত, যেখানেbuildings[i].place_idএই প্রবেশপথটিরbuilding_place_idসমান। দ্রষ্টব্য: এই মানটি জিওকোড ফলাফলের প্লেস আইডি থেকে ভিন্ন, যদি না জিওকোড ফলাফলটি খোদ বিল্ডিংটির জন্যই হয়। এই প্যারামিটারটি সবসময় পূরণ করা থাকবে না।entrance_tags[]প্রবেশপথের বৈশিষ্ট্য বর্ণনা করে এমন প্রবেশপথ ট্যাগগুলির একটি অ্যারে। নিম্নলিখিত মানটি সমর্থিত:
"PREFERRED"এটি নির্দেশ করে যে এই প্রবেশপথটি সম্ভবত ফেরত দেওয়া স্থানটিতে সরাসরি প্রবেশের সুযোগ করে দেয়। একটি স্থানের একাধিক পছন্দের প্রবেশপথ থাকতে পারে। যদি কোনো প্রবেশপথে এই ট্যাগটি না থাকে, তার মানে হলো প্রবেশপথটি ভৌতিকভাবে একই ভবনে অবস্থিত, কিন্তু এটি আবশ্যিকভাবে স্থানটিতে প্রবেশের সুযোগ করে দেয় না।
উদাহরণস্বরূপ, যদি ফেরত দেওয়া স্থানটি একটি স্ট্রিপ মলের কোনো রেস্তোরাঁ হয়, তাহলে
"PREFERRED"প্রবেশপথগুলো হবে সরাসরি রেস্তোরাঁটিতে প্রবেশের পথ, আর অন্য ফেরত দেওয়া প্রবেশপথগুলো হবে ভবনটির অন্যান্য প্রবেশপথ, যেমন স্ট্রিপ মলের অন্য রেস্তোরাঁগুলোতে যাওয়ার প্রবেশপথ।ফেরত দেওয়া স্থানটি যদি নিজেই একটি ভবন হয়,
"PREFERRED"প্রবেশপথগুলো হবে সেগুলোই যা ভবনের "প্রধান" অংশে নিয়ে যায়। উদাহরণস্বরূপ, একটি শপিং সেন্টারে"PREFERRED"প্রবেশপথগুলো হবে সেগুলো যা প্রধান ফোয়ার এলাকায় প্রবেশের সুযোগ দেয়, কিন্তু যদি কোনো প্রবেশপথ কেবল ভবনের পাশের কোনো দোকানে প্রবেশের সুযোগ দেয়, তবে সেটি"PREFERRED"প্রবেশপথ হবে না।
নিচের চিত্রটিতে উপরের উদাহরণ অনুরোধটির জন্য প্রাপ্ত ভবনের রূপরেখা এবং প্রবেশপথগুলোর একটি চাক্ষুষ উপস্থাপনা দেখানো হয়েছে।

উপরের উদাহরণ অনুরোধের প্রতিক্রিয়াতে দুটি প্রবেশপথ এবং একটি রূপরেখাসহ একটি ভবন দেখা যাচ্ছে। লক্ষ্য করুন যে প্রতিটি প্রবেশপথের building_place_id ভবনটির place_id সাথে মিলে যায়:
{
"entrances": [
{
"building_place_id" : "ChIJU1erIO-2j4ARzlavxpYBJr8",
"location" :
{
"lat" : 37.3736684,
"lng" : -122.0540469
},
"entrance_tags": ["PREFERRED"]
},
{
"building_place_id" : "ChIJU1erIO-2j4ARzlavxpYBJr8",
"location" :
{
"lat" : 37.3738239,
"lng" : -122.0539773
},
}
],
"buildings" : [
{
"building_outlines" : [
{
"display_polygon" : {
"coordinates" : [
[
[
-122.054453349467,
37.3742345734776
],
[
-122.054665964955,
37.3737591984554
],
[
-122.054080317537,
37.3735936952922
],
[
-122.053867527481,
37.374069124071
],
[
-122.054453349467,
37.3742345734776
]
]
],
"type" : "Polygon"
}
}
],
"place_id" : "ChIJU1erIO-2j4ARzlavxpYBJr8"
}
],
}
মানচিত্রে ভবনের রূপরেখা প্রদর্শন করুন
জাভাস্ক্রিপ্ট এপিআই-তে RFC 7946 ফরম্যাটের বহুভুজ (Polygons) এবং বহুভুজ (Multipolygons) প্রদর্শনের জন্য অন্তর্নির্মিত সমর্থন রয়েছে। এটি করার পদ্ধতি নিম্নরূপ:
- পলিগন ডেটা ব্যবহার করে একটি ফিচার অবজেক্ট তৈরি করুন।
- বহুভুজটিতে একটি স্টাইল প্রয়োগ করুন।
- জাভাস্ক্রিপ্ট ম্যাপ অবজেক্টের সাথে ফিচারটি সংযুক্ত করুন।
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)
}
}
উপরের কোডটি ব্যবহার করে, এই ডকুমেন্টের শুরুতে দেওয়া উদাহরণ রেসপন্সে জিওকোডিং এপিআই দ্বারা প্রাপ্ত বিল্ডিংয়ের রূপরেখাটি ম্যাপে নিম্নরূপে রেন্ডার করা হয়:

একাধিক ভবন বা ভবনের রূপরেখা সহ প্রতিক্রিয়াগুলি পরিচালনা করুন
আপনি নিম্নলিখিত পরিস্থিতিগুলিরও সম্মুখীন হতে পারেন; তবে, উপরের নমুনা কোডটি সেগুলির ক্ষেত্রেও কাজ করবে:
- একটি একক
building_outlinesঅবজেক্ট যা একাধিক বহুভুজকে উপস্থাপন করে। -
buildings[]অ্যারেতে একাধিক ভবন সহ একটি প্রতিক্রিয়া।
উদাহরণস্বরূপ, ChIJGxgH9QBVHBYRl13JmZ0BFgo স্থান আইডির প্রতিক্রিয়াতে buildings[] অ্যারেতে দুটি বিল্ডিং রয়েছে:
"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"
}
]
উপরের জাভাস্ক্রিপ্ট কোড নমুনাটি ব্যবহার করে, আমরা মানচিত্রে উভয় ভবনের রূপরেখা রেন্ডার করতে সক্ষম হয়েছি:

প্রতিক্রিয়া
এটি একটি পরীক্ষামূলক ফিচার। geocoding-feedback-channel@google.com -এ আপনার মতামত জানালে আমরা কৃতজ্ঞ থাকব।