ওভারভিউ
জিওকোডিং হল ঠিকানাগুলিকে (যেমন "1600 Amphitheatre Parkway, Mountain View, CA") ভৌগলিক স্থানাঙ্কে রূপান্তরিত করার প্রক্রিয়া (যেমন অক্ষাংশ 37.423021 এবং দ্রাঘিমাংশ -122.083739), যা আপনি মার্কার স্থাপন করতে বা মানচিত্রের অবস্থান করতে ব্যবহার করতে পারেন৷
রিভার্স জিওকোডিং হল ভৌগলিক স্থানাঙ্কগুলিকে মানব-পাঠযোগ্য ঠিকানায় রূপান্তর করার প্রক্রিয়া ( বিপরীত জিওকোডিং (ঠিকানা লুকআপ) দেখুন)।
আপনি একটি প্রদত্ত স্থান আইডির ঠিকানা খুঁজে পেতে জিওকোডার ব্যবহার করতে পারেন।
মানচিত্র জাভাস্ক্রিপ্ট API জিওকোডিং এর জন্য একটি জিওকোডার শ্রেণী প্রদান করে এবং ব্যবহারকারীর ইনপুট থেকে গতিশীলভাবে জিওকোডিং বিপরীত করে। পরিবর্তে আপনি স্ট্যাটিক, পরিচিত ঠিকানা জিওকোড করতে চান, জিওকোডিং ওয়েব পরিষেবা দেখুন।
শুরু করুন
মানচিত্র জাভাস্ক্রিপ্ট API-এ জিওকোডিং পরিষেবা ব্যবহার করার আগে, প্রথমে নিশ্চিত করুন যে জিওকোডিং API Google ক্লাউড কনসোলে সক্ষম করা হয়েছে, একই প্রকল্পে আপনি মানচিত্র জাভাস্ক্রিপ্ট API-এর জন্য সেট আপ করেছেন৷
আপনার সক্রিয় API এর তালিকা দেখতে:
- গুগল ক্লাউড কনসোলে যান।
- একটি প্রকল্প নির্বাচন করুন বোতামে ক্লিক করুন, তারপরে আপনি মানচিত্র জাভাস্ক্রিপ্ট API-এর জন্য সেট আপ করা একই প্রকল্প নির্বাচন করুন এবং খুলুন ক্লিক করুন।
- ড্যাশবোর্ডে API-এর তালিকা থেকে, জিওকোডিং API সন্ধান করুন।
- আপনি যদি তালিকায় API দেখতে পান, আপনি সম্পূর্ণ প্রস্তুত। API তালিকাভুক্ত না হলে, এটি সক্ষম করুন:
- পৃষ্ঠার শীর্ষে, লাইব্রেরি ট্যাব প্রদর্শন করতে API ENABLE নির্বাচন করুন। বিকল্পভাবে, বাম পাশের মেনু থেকে, লাইব্রেরি নির্বাচন করুন।
- জিওকোডিং API অনুসন্ধান করুন, তারপর ফলাফল তালিকা থেকে এটি নির্বাচন করুন।
- ENABLE নির্বাচন করুন। প্রক্রিয়াটি শেষ হলে, জিওকোডিং API ড্যাশবোর্ডে API-এর তালিকায় উপস্থিত হয়।
মূল্য এবং নীতি
মূল্য নির্ধারণ
জাভাস্ক্রিপ্ট জিওকোডিং পরিষেবার মূল্য এবং ব্যবহারের নীতিগুলি সম্পর্কে জানতে, জিওকোডিং API-এর ব্যবহার এবং বিলিং দেখুন৷
নীতিমালা
আপনার জিওকোডিং পরিষেবার ব্যবহার অবশ্যই জিওকোডিং API-এর নীতি অনুসারে হতে হবে।
জিওকোডিং অনুরোধ
জিওকোডিং পরিষেবা অ্যাক্সেস করা অ্যাসিঙ্ক্রোনাস, যেহেতু Google মানচিত্র API-কে একটি বহিরাগত সার্ভারে কল করতে হবে৷ সেই কারণে, অনুরোধটি সম্পূর্ণ হওয়ার পরে কার্যকর করার জন্য আপনাকে একটি কলব্যাক পদ্ধতি পাস করতে হবে। এই কলব্যাক পদ্ধতি ফলাফল(গুলি) প্রক্রিয়া করে। মনে রাখবেন জিওকোডার একাধিক ফলাফল দিতে পারে।
আপনি google.maps.Geocoder কনস্ট্রাক্টর অবজেক্ট ব্যবহার করে আপনার কোডের মধ্যে Google Maps API জিওকোডিং পরিষেবা অ্যাক্সেস করেন। Geocoder.geocode() পদ্ধতি জিওকোডিং পরিষেবার কাছে একটি অনুরোধ শুরু করে, এটিকে একটি GeocoderRequest অবজেক্ট আক্ষরিকভাবে পাস করে যাতে ইনপুট শর্তাদি থাকে এবং প্রতিক্রিয়া প্রাপ্তির পরে চালানোর জন্য একটি কলব্যাক পদ্ধতি।
GeocoderRequest অবজেক্ট আক্ষরিক নিম্নলিখিত ক্ষেত্র রয়েছে:
{ address: string, location: LatLng, placeId: string, bounds: LatLngBounds, componentRestrictions: GeocoderComponentRestrictions, region: string }
প্রয়োজনীয় পরামিতি: আপনাকে অবশ্যই নিম্নলিখিত ক্ষেত্রগুলির মধ্যে একটি এবং শুধুমাত্র একটি সরবরাহ করতে হবে:
-
address- যে ঠিকানাটি আপনি জিওকোড করতে চান।
বা
location—LatLng(বাLatLngLiteral) যার জন্য আপনি সবচেয়ে কাছের, মানুষের-পাঠযোগ্য ঠিকানা পেতে চান। জিওকোডার একটি বিপরীত জিওকোড সম্পাদন করে। আরও তথ্যের জন্য বিপরীত জিওকোডিং দেখুন।
বা
placeId— যে জায়গার জন্য আপনি সবচেয়ে কাছের, মানুষের-পাঠযোগ্য ঠিকানা পেতে চান সেই জায়গার আইডি। একটি স্থান আইডির জন্য একটি ঠিকানা পুনরুদ্ধার সম্পর্কে আরও দেখুন।
ঐচ্ছিক পরামিতি:
-
bounds—LatLngBoundsযার মধ্যে জিওকোডের ফলাফলকে আরও স্পষ্টভাবে বায়াস করতে হয়।boundsপ্যারামিটার শুধুমাত্র জিওকোডারের ফলাফলকে প্রভাবিত করবে, সম্পূর্ণরূপে সীমাবদ্ধ করবে না। নীচে ভিউপোর্ট বায়াসিং সম্পর্কে আরও তথ্য দেখুন। -
componentRestrictions— একটি নির্দিষ্ট এলাকায় ফলাফল সীমাবদ্ধ করতে ব্যবহৃত হয়। নীচে উপাদান ফিল্টারিং সম্পর্কে আরও তথ্য দেখুন। -
region— অঞ্চল কোড, একটি দুই-অক্ষর (অ-সংখ্যাসূচক) ইউনিকোড অঞ্চল সাবট্যাগ হিসাবে নির্দিষ্ট হিসাবে নির্দিষ্ট করা হয়েছে। বেশিরভাগ ক্ষেত্রে, এই ট্যাগগুলি পরিচিত ccTLD ("টপ-লেভেল ডোমেইন") দুই-অক্ষরের মানগুলিতে সরাসরি ম্যাপ করে।regionপ্যারামিটার শুধুমাত্র জিওকোডারের ফলাফলকে প্রভাবিত করবে, সম্পূর্ণরূপে সীমাবদ্ধ করবে না। নীচে অঞ্চল কোড বায়াসিং সম্পর্কে আরও তথ্য দেখুন। -
extraComputations— এই প্যারামিটারের জন্য একমাত্র অনুমোদিত মান হলADDRESS_DESCRIPTORS। আরো বিস্তারিত জানার জন্য ঠিকানা বর্ণনাকারী দেখুন. -
fulfillOnZeroResults— প্রতিক্রিয়ায় একটি ZERO_RESULT স্ট্যাটাসের প্রতিশ্রুতি পূরণ করুন। এটি কাঙ্ক্ষিত হতে পারে কারণ শূন্য জিওকোডিং ফলাফলের পরেও অতিরিক্ত প্রতিক্রিয়া স্তরের ক্ষেত্রগুলি ফিরে আসতে পারে৷ আরও বিস্তারিত জানার জন্য শূন্য ফলাফলে পূরণ দেখুন।
জিওকোডিং প্রতিক্রিয়া
জিওকোডারের ফলাফল পুনরুদ্ধার করার পরে চালানোর জন্য জিওকোডিং পরিষেবাটির একটি কলব্যাক পদ্ধতির প্রয়োজন। এই কলব্যাকটি সেই ক্রমে results এবং একটি status কোড ধরে রাখতে দুটি প্যারামিটার পাস করা উচিত।
জিওকোডিং ফলাফল
GeocoderResult বস্তুটি একটি একক জিওকোডিং ফলাফল উপস্থাপন করে। একটি জিওকোড অনুরোধ একাধিক ফলাফল বস্তু ফিরিয়ে দিতে পারে:
results[]: { types[]: string, formatted_address: string, address_components[]: { short_name: string, long_name: string, postcode_localities[]: string, types[]: string }, partial_match: boolean, place_id: string, postcode_localities[]: string, geometry: { location: LatLng, location_type: GeocoderLocationType viewport: LatLngBounds, bounds: LatLngBounds } }
এই ক্ষেত্রগুলি নীচে ব্যাখ্যা করা হয়েছে:
-
types[]একটি অ্যারে যা প্রত্যাবর্তিত ফলাফলের ঠিকানা প্রকার নির্দেশ করে। এই অ্যারেতে শূন্য বা তার বেশি ট্যাগের একটি সেট রয়েছে যা ফলাফলে প্রত্যাবর্তিত বৈশিষ্ট্যের ধরণ সনাক্ত করে। উদাহরণস্বরূপ, "শিকাগো" এর একটি জিওকোড "স্থানীয়তা" প্রদান করে যা নির্দেশ করে যে "শিকাগো" একটি শহর, এবং এছাড়াও "রাজনৈতিক" প্রদান করে যা নির্দেশ করে যে এটি একটি রাজনৈতিক সত্তা। নীচে ঠিকানার ধরন এবং ঠিকানা উপাদান প্রকার সম্পর্কে আরও তথ্য দেখুন। -
formatted_addressহল একটি স্ট্রিং যাতে এই অবস্থানের মানুষের-পাঠযোগ্য ঠিকানা রয়েছে।প্রায়শই এই ঠিকানাটি ডাক ঠিকানার সমতুল্য। উল্লেখ্য যে কিছু দেশ, যেমন ইউনাইটেড কিংডম, লাইসেন্সিং বিধিনিষেধের কারণে সত্যিকারের ডাক ঠিকানা বিতরণের অনুমতি দেয় না।
ফরম্যাট করা ঠিকানা যৌক্তিকভাবে এক বা একাধিক ঠিকানা উপাদান নিয়ে গঠিত। উদাহরণস্বরূপ, "111 8th Avenue, New York, NY" ঠিকানাটি নিম্নলিখিত উপাদানগুলি নিয়ে গঠিত: "111" (রাস্তার নম্বর), "8th Avenue" (রুট), "New York" (শহর) এবং "NY" (মার্কিন যুক্তরাষ্ট্র)।
ফরম্যাট করা ঠিকানাকে প্রোগ্রাম্যাটিকভাবে পার্স করবেন না। পরিবর্তে আপনার পৃথক ঠিকানা উপাদানগুলি ব্যবহার করা উচিত, যা এপিআই প্রতিক্রিয়া ফর্ম্যাট করা ঠিকানা ক্ষেত্র ছাড়াও অন্তর্ভুক্ত করে।
address_components[]হল একটি অ্যারে যেখানে এই ঠিকানার জন্য প্রযোজ্য পৃথক উপাদান রয়েছে।প্রতিটি ঠিকানা উপাদান সাধারণত নিম্নলিখিত ক্ষেত্র ধারণ করে:
-
types[]একটি অ্যারে যা ঠিকানা উপাদানের ধরন নির্দেশ করে। সমর্থিত প্রকারের তালিকা দেখুন। -
long_nameহল জিওকোডার দ্বারা প্রত্যাবর্তিত ঠিকানা উপাদানটির সম্পূর্ণ পাঠ্য বিবরণ বা নাম। -
short_nameহল ঠিকানা উপাদানের জন্য একটি সংক্ষিপ্ত পাঠ্য নাম, যদি উপলব্ধ থাকে। উদাহরণস্বরূপ, আলাস্কা রাজ্যের একটি ঠিকানা উপাদানে 2-অক্ষরের ডাক সংক্ষেপণ ব্যবহার করে "আলাস্কা" এর একটিlong_nameএবং "AK" এর একটিshort_nameথাকতে পারে।
address_components[]অ্যারে সম্পর্কে নিম্নলিখিত তথ্যগুলি নোট করুন:- ঠিকানা উপাদানগুলির বিন্যাসে
formatted_addressচেয়ে বেশি উপাদান থাকতে পারে। - বিন্যাসে অগত্যা সমস্ত রাজনৈতিক সত্ত্বাকে অন্তর্ভুক্ত করে না যেগুলির মধ্যে একটি ঠিকানা রয়েছে,
formatted_addressএ অন্তর্ভুক্ত থাকা ছাড়া। একটি নির্দিষ্ট ঠিকানা রয়েছে এমন সমস্ত রাজনৈতিক সত্তা পুনরুদ্ধার করতে, আপনাকে অনুরোধের পরামিতি হিসাবে ঠিকানাটির অক্ষাংশ/দ্রাঘিমাংশ পাস করে বিপরীত জিওকোডিং ব্যবহার করা উচিত। - অনুরোধের মধ্যে প্রতিক্রিয়ার বিন্যাস একই থাকার নিশ্চয়তা দেওয়া হয় না। বিশেষ করে,
address_componentsসংখ্যা অনুরোধ করা ঠিকানার উপর ভিত্তি করে পরিবর্তিত হয় এবং একই ঠিকানার জন্য সময়ের সাথে সাথে পরিবর্তন হতে পারে। একটি উপাদান অ্যারে অবস্থান পরিবর্তন করতে পারেন. উপাদানের ধরন পরিবর্তন হতে পারে। পরবর্তী প্রতিক্রিয়ায় একটি নির্দিষ্ট উপাদান অনুপস্থিত হতে পারে।
নীচে ঠিকানার ধরন এবং ঠিকানা উপাদান প্রকার সম্পর্কে আরও তথ্য দেখুন।
-
partial_matchনির্দেশ করে যে জিওকোডার আসল অনুরোধের জন্য একটি সঠিক মিল ফেরত দেয়নি, যদিও এটি অনুরোধ করা ঠিকানার অংশের সাথে মেলে। আপনি ভুল বানান এবং/অথবা একটি অসম্পূর্ণ ঠিকানার জন্য আসল অনুরোধটি পরীক্ষা করতে চাইতে পারেন।আংশিক মিলগুলি প্রায়শই রাস্তার ঠিকানাগুলির জন্য ঘটে যা আপনার অনুরোধে পাস করা এলাকার মধ্যে বিদ্যমান নেই। আংশিক মিলগুলিও ফেরত দেওয়া হতে পারে যখন একটি অনুরোধ একই এলাকার দুই বা ততোধিক অবস্থানের সাথে মেলে। উদাহরণস্বরূপ, "Hillpar St, Bristol, UK" Henry Street এবং Henrietta Street উভয়ের জন্য একটি আংশিক ম্যাচ ফিরিয়ে দেবে। মনে রাখবেন যে যদি একটি অনুরোধে একটি ভুল বানান ঠিকানা উপাদান অন্তর্ভুক্ত থাকে, জিওকোডিং পরিষেবা একটি বিকল্প ঠিকানা প্রস্তাব করতে পারে। এইভাবে ট্রিগার করা প্রস্তাবনাগুলিকেও একটি আংশিক মিল হিসাবে চিহ্নিত করা হবে৷
-
place_idএকটি স্থানের একটি অনন্য শনাক্তকারী, যা অন্যান্য Google API-এর সাথে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, আপনি স্থানীয় ব্যবসার বিশদ বিবরণ পেতে Google Places API লাইব্রেরির সাথেplace_idব্যবহার করতে পারেন, যেমন ফোন নম্বর, খোলার সময়, ব্যবহারকারীর পর্যালোচনা এবং আরও অনেক কিছু। স্থান আইডি ওভারভিউ দেখুন. -
postcode_localities[]হল একটি অ্যারে যা একটি পোস্টাল কোডের মধ্যে থাকা সমস্ত এলাকাকে নির্দেশ করে এবং শুধুমাত্র তখনই উপস্থিত হয় যখন ফলাফলটি একটি পোস্টাল কোড হয় যাতে একাধিক লোকালয়টি থাকে। geometryনিম্নলিখিত তথ্য রয়েছে:-
locationজিওকোডেড অক্ষাংশ, দ্রাঘিমাংশের মান রয়েছে। মনে রাখবেন যে আমরা এই অবস্থানটিকে একটিLatLngঅবজেক্ট হিসাবে ফিরিয়ে দিই, ফরম্যাট করা স্ট্রিং হিসাবে নয়। -
location_typeনির্দিষ্ট অবস্থান সম্পর্কে অতিরিক্ত ডেটা সঞ্চয় করে। নিম্নলিখিত মানগুলি সমর্থিত:-
ROOFTOPনির্দেশ করে যে প্রত্যাবর্তিত ফলাফল একটি সুনির্দিষ্ট জিওকোড প্রতিফলিত করে। -
RANGE_INTERPOLATEDইঙ্গিত করে যে প্রত্যাবর্তিত ফলাফল দুটি সুনির্দিষ্ট বিন্দুর (যেমন ছেদ) মধ্যে অন্তর্নিহিত একটি আনুমানিকতা (সাধারণত একটি রাস্তায়) প্রতিফলিত করে। যখন রাস্তার ঠিকানার জন্য ছাদের জিওকোডগুলি অনুপলব্ধ থাকে তখন ইন্টারপোলেটেড ফলাফলগুলি সাধারণত ফেরত দেওয়া হয়৷ -
GEOMETRIC_CENTERনির্দেশ করে যে প্রত্যাবর্তিত ফলাফল হল একটি ফলাফলের জ্যামিতিক কেন্দ্র যেমন একটি পলিলাইন (উদাহরণস্বরূপ, একটি রাস্তা) বা বহুভুজ (অঞ্চল)। -
APPROXIMATEনির্দেশ করে যে প্রত্যাবর্তিত ফলাফল আনুমানিক।
-
-
viewportপ্রত্যাবর্তিত ফলাফলের জন্য প্রস্তাবিত ভিউপোর্ট সংরক্ষণ করে। -
bounds(ঐচ্ছিকভাবে ফেরত)LatLngBoundsসংরক্ষণ করে যা সম্পূর্ণরূপে প্রত্যাবর্তিত ফলাফল ধারণ করতে পারে। মনে রাখবেন যে এই সীমাগুলি প্রস্তাবিত ভিউপোর্টের সাথে মেলে না। (উদাহরণস্বরূপ, সান ফ্রান্সিসকো ফ্যারালন দ্বীপপুঞ্জ অন্তর্ভুক্ত করে, যা প্রযুক্তিগতভাবে শহরের অংশ, কিন্তু ভিউপোর্টে ফেরত দেওয়া উচিত নয়।)
-
ঠিকানাগুলি জিওকোডার দ্বারা ব্রাউজারের পছন্দের ভাষা সেটিং বা language প্যারামিটার ব্যবহার করে API জাভাস্ক্রিপ্ট লোড করার সময় নির্দিষ্ট করা ভাষা ব্যবহার করে ফেরত দেওয়া হয়। (আরো তথ্যের জন্য, স্থানীয়করণ দেখুন। )
ঠিকানার ধরন এবং ঠিকানা উপাদান প্রকার
উত্তরে GeocoderResult- এর types[] অ্যারে ঠিকানার ধরন নির্দেশ করে। ঠিকানার ধরনগুলির উদাহরণগুলির মধ্যে একটি রাস্তার ঠিকানা, একটি দেশ বা একটি রাজনৈতিক সত্তা অন্তর্ভুক্ত। GeocoderAddressComponent- এর types অ্যারে ঠিকানার প্রতিটি অংশের ধরন নির্দেশ করে। উদাহরণগুলির মধ্যে রয়েছে রাস্তার নম্বর বা দেশ৷
ঠিকানার একাধিক প্রকার থাকতে পারে। প্রকারগুলি 'ট্যাগ' হিসাবে বিবেচিত হতে পারে। উদাহরণস্বরূপ, অনেক শহর political এবং locality প্রকারের সাথে ট্যাগ করা হয়।
নিম্নলিখিত প্রকারগুলি সমর্থিত এবং ঠিকানার ধরন এবং ঠিকানা উপাদান টাইপ অ্যারে উভয় ক্ষেত্রেই ফেরত দেওয়া হয়:
| ঠিকানার ধরন | বর্ণনা |
|---|---|
street_address | একটি সুনির্দিষ্ট রাস্তার ঠিকানা। |
route | একটি নামযুক্ত রুট (যেমন "US 101")। |
intersection | একটি প্রধান চৌরাস্তা, সাধারণত দুটি প্রধান রাস্তা। |
political | একটি রাজনৈতিক সত্তা। সাধারণত, এই ধরনের কিছু বেসামরিক প্রশাসনের বহুভুজ নির্দেশ করে। |
country | জাতীয় রাজনৈতিক সত্তা, এবং এটি সাধারণত জিওকোডার দ্বারা প্রত্যাবর্তিত সর্বোচ্চ ক্রম প্রকার। |
administrative_area_level_1 | দেশের স্তরের নীচে একটি প্রথম-ক্রম নাগরিক সত্তা। মার্কিন যুক্তরাষ্ট্রের মধ্যে, এই প্রশাসনিক স্তরগুলি হল রাজ্য। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। বেশিরভাগ ক্ষেত্রে, administrative_area_level_1 সংক্ষিপ্ত নামগুলি ISO 3166-2 উপবিভাগ এবং অন্যান্য ব্যাপকভাবে প্রচারিত তালিকাগুলির সাথে ঘনিষ্ঠভাবে মিলবে; তবে এটি নিশ্চিত নয় কারণ আমাদের জিওকোডিং ফলাফল বিভিন্ন সংকেত এবং অবস্থান ডেটার উপর ভিত্তি করে। |
administrative_area_level_2 | দেশের স্তরের নীচে একটি দ্বিতীয়-ক্রম নাগরিক সত্তা। মার্কিন যুক্তরাষ্ট্রের মধ্যে, এই প্রশাসনিক স্তরগুলি হল কাউন্টি। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। |
administrative_area_level_3 | দেশের স্তরের নীচে একটি তৃতীয়-ক্রম নাগরিক সত্তা। এই ধরনের একটি ছোট নাগরিক বিভাগ নির্দেশ করে। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। |
administrative_area_level_4 | দেশের স্তরের নীচে একটি চতুর্থ ক্রম নাগরিক সত্তা। এই ধরনের একটি ছোট নাগরিক বিভাগ নির্দেশ করে। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। |
administrative_area_level_5 | দেশের স্তরের নীচে একটি পঞ্চম-ক্রম নাগরিক সত্তা। এই ধরনের একটি ছোট নাগরিক বিভাগ নির্দেশ করে। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। |
administrative_area_level_6 | দেশের স্তরের নীচে একটি ষষ্ঠ-ক্রম নাগরিক সত্তা। এই ধরনের একটি ছোট নাগরিক বিভাগ নির্দেশ করে। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। |
administrative_area_level_7 | দেশের স্তরের নীচে একটি সপ্তম-ক্রম নাগরিক সত্তা। এই ধরনের একটি ছোট নাগরিক বিভাগ নির্দেশ করে। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। |
colloquial_area | সত্তার জন্য একটি সাধারণভাবে ব্যবহৃত বিকল্প নাম। |
locality | একটি নিগমিত শহর বা শহরের রাজনৈতিক সত্তা। |
sublocality | একটি এলাকার নীচে একটি প্রথম-ক্রম নাগরিক সত্তা। কিছু অবস্থানের জন্য অতিরিক্ত প্রকারের একটি পেতে পারে: sublocality_level_1 থেকে sublocality_level_5 । প্রতিটি উপ-স্থানীয় স্তর একটি নাগরিক সত্তা। বড় সংখ্যা একটি ছোট ভৌগলিক এলাকা নির্দেশ করে। |
neighborhood | একটি নাম করা পাড়া। |
premise | একটি নামযুক্ত অবস্থান, সাধারণত একটি বিল্ডিং বা একটি সাধারণ নাম সহ বিল্ডিংগুলির সংগ্রহ৷ |
subpremise | প্রিমাইজ লেভেলের নীচে একটি ঠিকানাযোগ্য সত্তা, যেমন একটি অ্যাপার্টমেন্ট, ইউনিট বা স্যুট। |
plus_code | একটি এনকোড করা অবস্থানের রেফারেন্স, অক্ষাংশ এবং দ্রাঘিমাংশ থেকে প্রাপ্ত। প্লাস কোডগুলি এমন জায়গায় রাস্তার ঠিকানাগুলির প্রতিস্থাপন হিসাবে ব্যবহার করা যেতে পারে যেখানে সেগুলি বিদ্যমান নেই (যেখানে বিল্ডিংগুলি সংখ্যাযুক্ত নয় বা রাস্তার নাম দেওয়া হয়নি)। বিস্তারিত জানার জন্য https://plus.codes দেখুন। |
postal_code | একটি পোস্টাল কোড যা দেশের মধ্যে পোস্টাল মেল ঠিকানার জন্য ব্যবহৃত হয়। |
natural_feature | একটি বিশিষ্ট প্রাকৃতিক বৈশিষ্ট্য। |
airport | একটি বিমানবন্দর। |
park | নামের একটি পার্ক। |
point_of_interest | আগ্রহের একটি নামকৃত পয়েন্ট। সাধারণত, এই "POI"গুলি হল বিশিষ্ট স্থানীয় সত্ত্বা যা "এম্পায়ার স্টেট বিল্ডিং" বা "আইফেল টাওয়ার" এর মতো অন্য বিভাগে সহজে ফিট করে না। |
প্রকারের একটি খালি তালিকা নির্দেশ করে যে নির্দিষ্ট ঠিকানা উপাদানের জন্য কোন পরিচিত প্রকার নেই (উদাহরণস্বরূপ, ফ্রান্সে লিউ-ডিট)।
উপরোক্ত ছাড়াও, ঠিকানা উপাদান নীচের প্রকার অন্তর্ভুক্ত হতে পারে.
দ্রষ্টব্য: এই তালিকাটি সম্পূর্ণ নয়, এবং পরিবর্তন সাপেক্ষে।
উপরোক্ত ছাড়াও, ঠিকানার উপাদানগুলি নীচে তালিকাভুক্ত প্রকারগুলি অন্তর্ভুক্ত করতে পারে।
| ঠিকানা উপাদান প্রকার | বর্ণনা |
|---|---|
floor | একটি ভবন ঠিকানার মেঝে. |
establishment | সাধারণত একটি জায়গা যা এখনও শ্রেণীবদ্ধ করা হয়নি। |
landmark | একটি কাছাকাছি স্থান যা একটি রেফারেন্স হিসাবে ব্যবহৃত হয়, নেভিগেশন সাহায্য করার জন্য। |
point_of_interest | আগ্রহের একটি নামকৃত পয়েন্ট। |
parking | একটি পার্কিং লট বা পার্কিং কাঠামো। |
post_box | একটি নির্দিষ্ট পোস্টাল বাক্স। |
postal_town | কিছু দেশে মেইলিং ঠিকানার জন্য ব্যবহৃত locality এবং sublocality মতো ভৌগলিক এলাকার একটি গ্রুপিং। |
room | একটি ভবন ঠিকানার ঘর. |
street_number | সুনির্দিষ্ট রাস্তার নম্বর। |
bus_station , train_station এবং transit_station | বাস, ট্রেন বা পাবলিক ট্রানজিট স্টপের অবস্থান। |
স্ট্যাটাস কোড
status কোড নিম্নলিখিত মানগুলির মধ্যে একটি প্রদান করতে পারে:
-
"OK"নির্দেশ করে যে কোন ত্রুটি ঘটেনি; ঠিকানাটি সফলভাবে পার্স করা হয়েছে এবং অন্তত একটি জিওকোড ফেরত দেওয়া হয়েছে। -
"ZERO_RESULTS"ইঙ্গিত করে যে জিওকোড সফল হয়েছে কিন্তু কোনো ফলাফল দেয়নি৷ এটি ঘটতে পারে যদি জিওকোডারটি একটি অস্তিত্বহীনaddressপাস করা হয়। -
"OVER_QUERY_LIMIT"নির্দেশ করে যে আপনি আপনার কোটা অতিক্রম করেছেন৷ -
"REQUEST_DENIED"নির্দেশ করে যে আপনার অনুরোধ প্রত্যাখ্যান করা হয়েছে৷ ওয়েব পৃষ্ঠাটি জিওকোডার ব্যবহার করার অনুমতি নেই। -
"INVALID_REQUEST"সাধারণত নির্দেশ করে যে কোয়েরি (address,componentsবাlatlng) অনুপস্থিত৷ -
"UNKNOWN_ERROR"নির্দেশ করে যে সার্ভার ত্রুটির কারণে অনুরোধটি প্রক্রিয়া করা যায়নি৷ আপনি আবার চেষ্টা করলে অনুরোধ সফল হতে পারে। -
"ERROR"নির্দেশ করে যে অনুরোধের সময় শেষ হয়েছে বা Google সার্ভারের সাথে যোগাযোগ করতে সমস্যা হয়েছে৷ আপনি আবার চেষ্টা করলে অনুরোধ সফল হতে পারে।
এই উদাহরণে, আমরা একটি ঠিকানা জিওকোড করি এবং প্রত্যাবর্তিত অক্ষাংশ এবং দ্রাঘিমাংশের মানগুলিতে একটি মার্কার স্থাপন করি। মনে রাখবেন যে হ্যান্ডলারটিকে একটি বেনামী ফাংশন আক্ষরিক হিসাবে পাস করা হয়েছে।
var geocoder; var map; function initialize() { geocoder = new google.maps.Geocoder(); var latlng = new google.maps.LatLng(-34.397, 150.644); var mapOptions = { zoom: 8, center: latlng } map = new google.maps.Map(document.getElementById('map'), mapOptions); } function codeAddress() { var address = document.getElementById('address').value; geocoder.geocode( { 'address': address}, function(results, status) { if (status == 'OK') { map.setCenter(results[0].geometry.location); var marker = new google.maps.Marker({ map: map, position: results[0].geometry.location }); } else { alert('Geocode was not successful for the following reason: ' + status); } }); } <body onload="initialize()"> <div id="map" style="width: 320px; height: 480px;"></div> <div> <input id="address" type="textbox" value="Sydney, NSW"> <input type="button" value="Encode" onclick="codeAddress()"> </div> </body>
ভিউপোর্ট বায়াসিং
আপনি একটি প্রদত্ত ভিউপোর্টের মধ্যে ফলাফল পছন্দ করতে জিওকোডিং পরিষেবাকে নির্দেশ দিতে পারেন (একটি বাউন্ডিং বক্স হিসাবে প্রকাশ করা হয়েছে)৷ আপনি এই ভিউপোর্টের সীমানা নির্ধারণ করতে GeocoderRequest অবজেক্টের মধ্যে bounds প্যারামিটার সেট করে তা করেন। মনে রাখবেন যে বায়াসিং শুধুমাত্র সীমার মধ্যে ফলাফল পছন্দ করে ; যদি আরও প্রাসঙ্গিক ফলাফল এই সীমার বাইরে বিদ্যমান থাকে, তাহলে সেগুলি অন্তর্ভুক্ত করা যেতে পারে।
উদাহরণস্বরূপ, "Winnetka" এর জন্য একটি জিওকোড সাধারণত শিকাগোর এই শহরতলির ফেরত দেয়:
{ "types":["locality","political"], "formatted_address":"Winnetka, IL, USA", "address_components":[{ "long_name":"Winnetka", "short_name":"Winnetka", "types":["locality","political"] },{ "long_name":"Illinois", "short_name":"IL", "types":["administrative_area_level_1","political"] },{ "long_name":"United States", "short_name":"US", "types":["country","political"] }], "geometry":{ "location":[ -87.7417070, 42.1083080], "location_type":"APPROXIMATE" }, "place_id": "ChIJW8Va5TnED4gRY91Ng47qy3Q" }
যাইহোক, লস অ্যাঞ্জেলেসের সান ফার্নান্দো ভ্যালির জন্য একটি বাউন্ডিং বক্স সংজ্ঞায়িত করার জন্য একটি bounds প্যারামিটার নির্দিষ্ট করার ফলে এই জিওকোডটি সেই অবস্থানে "উইনেটকা" নামক আশেপাশের এলাকা ফিরিয়ে দেয়:
{ "types":["sublocality","political"], "formatted_address":"Winnetka, California, USA", "address_components":[{ "long_name":"Winnetka", "short_name":"Winnetka", "types":["sublocality","political"] },{ "long_name":"Los Angeles", "short_name":"Los Angeles", "types":["administrative_area_level_3","political"] },{ "long_name":"Los Angeles", "short_name":"Los Angeles", "types":["administrative_area_level_2","political"] },{ "long_name":"California", "short_name":"CA", "types":["administrative_area_level_1","political"] },{ "long_name":"United States", "short_name":"US", "types":["country","political"] }], "geometry":{ "location": [34.213171,-118.571022], "location_type":"APPROXIMATE" }, "place_id": "ChIJ0fd4S_KbwoAR2hRDrsr3HmQ" }
অঞ্চল কোড বায়াসিং
আপনি region প্যারামিটার ব্যবহার করে স্পষ্টভাবে একটি নির্দিষ্ট অঞ্চলে পক্ষপাতদুষ্ট ফলাফল ফেরাতে জিওকোডিং পরিষেবা সেট করতে পারেন। এই প্যারামিটারটি একটি অঞ্চল কোড নেয়, একটি দুই-অক্ষর (অ-সংখ্যাসূচক) ইউনিকোড অঞ্চল সাবট্যাগ হিসাবে নির্দিষ্ট করা হয়। এই ট্যাগগুলি সরাসরি পরিচিত ccTLD ("টপ-লেভেল ডোমেইন") দুই-অক্ষরের মান যেমন "co.uk"-তে "uk"-তে ম্যাপ করে। কিছু ক্ষেত্রে, region ট্যাগ ISO-3166-1 কোডগুলিকেও সমর্থন করে, যা কখনও কখনও ccTLD মানগুলির থেকে আলাদা হয় (উদাহরণস্বরূপ "গ্রেট ব্রিটেন" এর জন্য "GB")।
region পরামিতি ব্যবহার করার সময়:
- শুধুমাত্র একটি দেশ বা অঞ্চল নির্দিষ্ট করুন। একাধিক মান উপেক্ষা করা হয় এবং এর ফলে একটি ব্যর্থ অনুরোধ হতে পারে।
- শুধুমাত্র দুই-অক্ষরের অঞ্চল সাবট্যাগ ব্যবহার করুন (ইউনিকোড CLDR ফর্ম্যাট)। অন্য সব ইনপুট ত্রুটির ফলে হবে.
- শুধুমাত্র Google Maps প্ল্যাটফর্ম কভারেজ বিবরণে তালিকাভুক্ত দেশ এবং অঞ্চল সমর্থিত।
জিওকোডিং অনুরোধ প্রতিটি ডোমেনের জন্য পাঠানো যেতে পারে যেখানে প্রধান Google মানচিত্র অ্যাপ্লিকেশন জিওকোডিং অফার করে। মনে রাখবেন যে বায়াসিং শুধুমাত্র একটি নির্দিষ্ট ডোমেনের জন্য ফলাফল পছন্দ করে ; যদি এই ডোমেনের বাইরে আরও প্রাসঙ্গিক ফলাফল বিদ্যমান থাকে, তাহলে সেগুলি অন্তর্ভুক্ত করা যেতে পারে।
উদাহরণস্বরূপ, "Toledo" এর জন্য একটি জিওকোড এই ফলাফলটি প্রদান করে, যেহেতু জিওকোডিং পরিষেবার জন্য ডিফল্ট ডোমেন মার্কিন যুক্তরাষ্ট্রে সেট করা আছে:
{ "types":["locality","political"], "formatted_address":"Toledo, OH, USA", "address_components":[{ "long_name":"Toledo", "short_name":"Toledo", "types":["locality","political"] },{ "long_name":"Ohio", "short_name":"OH", "types":["administrative_area_level_1","political"] },{ "long_name":"United States", "short_name":"US", "types":["country","political"] }], "place_id": "ChIJeU4e_C2HO4gRRcM6RZ_IPHw" }
"Toledo"-এর জন্য একটি জিওকোড 'es' (স্পেন) তে সেট করা region ক্ষেত্রটি স্প্যানিশ শহরকে ফিরিয়ে দেবে:
{ "types":["locality","political"], "formatted_address":"Toledo, España", "address_components":[{ "long_name":"Toledo", "short_name":"Toledo", "types":["locality","political"] },{ "long_name":"Toledo", "short_name":"TO", "types":["administrative_area_level_2","political"] },{ "long_name":"Castilla-La Mancha", "short_name":"CM", "types":["administrative_area_level_1","political"] },{ "long_name":"España", "short_name":"ES", "types":["country","political"] }], "place_id": "ChIJ8f21C60Lag0R_q11auhbf8Y" }
উপাদান ফিল্টারিং
আপনি একটি উপাদান ফিল্টার ব্যবহার করে একটি নির্দিষ্ট এলাকায় সীমাবদ্ধ ঠিকানা ফলাফল ফেরত দিতে জিওকোডিং পরিষেবা সেট করতে পারেন। componentRestrictions প্যারামিটারে ফিল্টারটি নির্দিষ্ট করুন। ফিল্টার মান অন্যান্য জিওকোডিং অনুরোধের মতো বানান সংশোধন এবং আংশিক মিলের একই পদ্ধতি সমর্থন করে।
জিওকোডার শুধুমাত্র সেই ফলাফল প্রদান করে যা সমস্ত উপাদান ফিল্টারের সাথে মেলে। অর্থাৎ, এটি একটি AND হিসাবে ফিল্টার স্পেসিফিকেশন মূল্যায়ন করে, একটি OR নয়।
একটি উপাদান ফিল্টার নিম্নলিখিত এক বা একাধিক আইটেম নিয়ে গঠিত:
-
routeএকটি রুটের লম্বা বা ছোট নামের সাথে মেলে। -
localityস্থানীয়তা এবং উপ-অঞ্চলের প্রকারের সাথে মেলে। -
administrativeAreaপ্রশাসনিক এলাকার সমস্ত স্তরের সাথে মেলে। -
postalCodeপোস্টাল কোড এবং পোস্টাল কোড উপসর্গের সাথে মেলে। -
countryএকটি দেশের নাম বা দুটি অক্ষরের ISO 3166-1 দেশের কোডের সাথে মেলে। দ্রষ্টব্য: API দেশগুলিকে সংজ্ঞায়িত করার জন্য ISO মান অনুসরণ করে এবং দেশের সংশ্লিষ্ট ISO কোড ব্যবহার করার সময় ফিল্টারিং সবচেয়ে ভাল কাজ করে।
নিম্নলিখিত উদাহরণ country এবং postalCode দ্বারা ফিল্টার করার জন্য componentRestrictions প্যারামিটার ব্যবহার করে দেখায়:
function codeAddress() { geocoder.geocode({ componentRestrictions: { country: 'AU', postalCode: '2000' } }, function(results, status) { if (status == 'OK') { map.setCenter(results[0].geometry.location); var marker = new google.maps.Marker({ map: map, position: results[0].geometry.location }); } else { window.alert('Geocode was not successful for the following reason: ' + status); } }); }
শূন্য ফলাফল পূরণ করুন
বিপরীত জিওকোডিংয়ের জন্য, ডিফল্টরূপে প্রতিশ্রুতি ভঙ্গ করা হয় status=ZERO_RESULTS . যাইহোক, plus_code এবং address_descriptor এর অতিরিক্ত প্রতিক্রিয়া স্তরের ক্ষেত্রগুলি এখনও এই ক্ষেত্রে জনবহুল হতে পারে। যদি true প্রদান করা হয় fulfillOnZeroResults প্যারামিটারের জন্য, এই ক্ষেত্রে জনবহুল। fulfillOnZeroResults প্যারামিটারের জন্য সত্য প্রদান করা হলে, প্রতিশ্রুতি ভঙ্গ হয় না এবং এই অতিরিক্ত ক্ষেত্রগুলি উপস্থিত থাকলে প্রতিশ্রুতি থেকে অ্যাক্সেসযোগ্য।
নিচে অ্যান্টার্কটিকার অক্ষাংশ/দ্রাঘিমাংশের জন্য এই আচরণের একটি উদাহরণ। যদিও কোন বিপরীত জিওকোডিং ফলাফল নেই, তবুও আমরা প্রতিশ্রুতিতে প্লাস কোডটি প্রিন্ট করতে পারি যদি আমরা fulfillOnZeroResults=true সেট করি।
function addressDescriptorReverseGeocoding() { var latlng = new google.maps.LatLng(-75.290330, 38.653861); geocoder .geocode({ 'location': latlng, 'fulfillOnZeroResults': true, }) .then((response) => { console.log(response.plus_code); }) .catch((error) => { window.alert(`Error`); }); }
ঠিকানা বর্ণনাকারী
ঠিকানা বর্ণনাকারী অতিরিক্ত তথ্য অন্তর্ভুক্ত করে যা ল্যান্ডমার্ক এবং এলাকা ব্যবহার করে একটি অবস্থান বর্ণনা করতে সাহায্য করে। বৈশিষ্ট্যটি অন্বেষণ করতে ঠিকানা বর্ণনাকারীর ডেমো দেখুন।
extraComputations প্যারামিটার ব্যবহারের মাধ্যমে ঠিকানা বর্ণনাকারী সক্রিয় করা যেতে পারে। একটি জিওকোডিং অনুরোধে extra_computations=ADDRESS_DESCRIPTORS অন্তর্ভুক্ত করুন, রিভার্স জিওকোডিং অনুরোধ , বা আপনার প্রতিক্রিয়াতে ঠিকানা বর্ণনাকারী পাওয়ার জন্য একটি স্থান জিওকোডিং অনুরোধ ।
জায়গা জিওকোডিং উদাহরণ
নিচের প্রশ্নটিতে দিল্লির একটি স্থানের ঠিকানা রয়েছে।
function addressDescriptorPlaceIdLookup() { geocoder.geocode({ geocoder.geocode({ 'placeId': 'ChIJyxAX8Bj9DDkRgBfAnBYa66Q', 'extraComputations': ['ADDRESS_DESCRIPTORS'] }, function(results, status) { if (status == 'OK') { console.log(results[0].address_descriptor); } else { window.alert('Geocode was not successful for the following reason: ' + status); } }); }
বিপরীত জিওকোডিং এর উদাহরণ
নিম্নলিখিত ক্যোয়ারীতে দিল্লির একটি অবস্থানের জন্য অক্ষাংশ/দ্রাঘিমাংশের মান রয়েছে৷
function addressDescriptorReverseGeocoding() { var latlng = new google.maps.LatLng(28.640964,77.235875); geocoder .geocode({ 'location': latlng, 'extraComputations': ["ADDRESS_DESCRIPTORS"], }) .then((response) => { console.log(response.address_descriptor); }) .catch((error) => { window.alert(`Error`); }); }
ঠিকানা বর্ণনাকারী উদাহরণ
একটি উদাহরণ address_descriptor নিম্নরূপ।
{ "address_descriptor" : { "areas" : [ { "containment" : "OUTSKIRTS", "display_name" : { "language_code" : "en", "text" : "Turkman Gate" }, "place_id" : "ChIJ_7LLvyb9DDkRMKKxP9YyXgs" }, { "containment" : "OUTSKIRTS", "display_name" : { "language_code" : "en", "text" : "Chandni Chowk" }, "place_id" : "ChIJWcXciBr9DDkRUb4dCDykTwI" }, { "containment" : "NEAR", "display_name" : { "language_code" : "en", "text" : "Katar Ganj" }, "place_id" : "ChIJH3cWUyH9DDkRaw-9CjvcRvY" } ], "landmarks" : [ { "display_name" : { "language_code" : "en", "text" : "Delite Cinema" }, "straight_line_distance_meters" : 29.9306755065918, "place_id" : "ChIJLfiYDCT9DDkROoEa7NdupUM", "travel_distance_meters" : 418.7794799804688, "spatial_relationship" : "ACROSS_THE_ROAD", "types" : [ "establishment", "movie_theater", "point_of_interest" ] }, { "display_name" : { "language_code" : "en", "text" : "YES Bank" }, "straight_line_distance_meters" : 66.83731079101562, "place_id" : "ChIJFYHM3yb9DDkRRKGkZl2mpSQ", "travel_distance_meters" : 489.0340270996094, "spatial_relationship" : "DOWN_THE_ROAD", "types" : [ "bank", "establishment", "finance", "point_of_interest" ] }, { "display_name" : { "language_code" : "en", "text" : "UCO Bank" }, "straight_line_distance_meters" : 25.38849639892578, "place_id" : "ChIJ-c6_wCb9DDkRjIk1LeqRtGM", "travel_distance_meters" : 403.2246398925781, "spatial_relationship" : "ACROSS_THE_ROAD", "types" : [ "atm", "bank", "establishment", "finance", "point_of_interest" ] }, { "display_name" : { "language_code" : "en", "text" : "Delhi By Cycle Meeting Point" }, "straight_line_distance_meters" : 44.02867126464844, "place_id" : "ChIJNxVfkSb9DDkRJD22l-eGFdM", "travel_distance_meters" : 97.41281890869141, "spatial_relationship" : "AROUND_THE_CORNER", "types" : [ "establishment", "point_of_interest", "tourist_attraction", "travel_agency" ] }, { "display_name" : { "language_code" : "en", "text" : "Axis Bank Branch" }, "straight_line_distance_meters" : 102.3495178222656, "place_id" : "ChIJr3uaDCT9DDkR8roHTVSn1x4", "travel_distance_meters" : 330.8566284179688, "spatial_relationship" : "DOWN_THE_ROAD", "types" : [ "bank", "establishment", "finance", "point_of_interest" ] } ] } }
প্রতিটি address_descriptor অবজেক্টে দুটি অ্যারে আছে: landmarks এবং areas । landmarks অ্যারেতে অনুরোধ করা স্থানাঙ্কের নৈকট্য, ল্যান্ডমার্কের ব্যাপকতা এবং এর দৃশ্যমানতা বিবেচনা করে প্রাসঙ্গিকতার ক্রম অনুসারে 5টি পর্যন্ত ফলাফল রয়েছে। প্রতিটি ল্যান্ডমার্ক ফলাফলে নিম্নলিখিত মান রয়েছে:
-
place_idহল ল্যান্ডমার্ক ফলাফলের স্থান আইডি। স্থান আইডি ওভারভিউ দেখুন. -
display_nameহল ল্যান্ডমার্কের প্রদর্শন নাম এবং এতেlanguage_codeএবংtextরয়েছে। -
straight_line_distance_metersহল ইনপুট স্থানাঙ্ক এবং ল্যান্ডমার্ক ফলাফলের মধ্যে মিটারে বিন্দু থেকে বিন্দু দূরত্ব। -
travel_distance_metersহল ইনপুট স্থানাঙ্ক এবং ল্যান্ডমার্ক ফলাফলের মধ্যে রোড নেটওয়ার্ক ব্যবহার করে (রাস্তার বিধিনিষেধ উপেক্ষা করে) মিটারে দূরত্ব। -
spatial_relationshipহল ইনপুট স্থানাঙ্ক এবং ল্যান্ডমার্ক ফলাফলের মধ্যে আনুমানিক সম্পর্ক: -
"NEAR"হল ডিফল্ট সম্পর্ক যখন নিচের কোনটি প্রযোজ্য হয় না। -
"WITHIN"যখন ইনপুট স্থানাঙ্ক ল্যান্ডমার্কের সাথে যুক্ত কাঠামোর সীমার মধ্যে থাকে। -
"BESIDE"যখন ইনপুট স্থানাঙ্ক সরাসরি ল্যান্ডমার্ক বা ল্যান্ডমার্কের অ্যাক্সেস পয়েন্টের সংলগ্ন হয়। -
"ACROSS_THE_ROAD"যখন ইনপুট স্থানাঙ্ক রুটের অন্য দিকের ল্যান্ডমার্কের সরাসরি বিপরীতে থাকে। -
"DOWN_THE_ROAD"যখন ইনপুট স্থানাঙ্কটি ল্যান্ডমার্কের মতো একই রুট বরাবর থাকে, কিন্তু"BESIDES"বা"ACROSS_THE_ROAD"নয়। -
"AROUND_THE_CORNER"যখন ইনপুট স্থানাঙ্কটি ল্যান্ডমার্ক হিসাবে একটি লম্ব রুট বরাবর থাকে (একটি বাঁকের মধ্যে সীমাবদ্ধ)৷ -
"BEHIND"যখন ইনপুট স্থানাঙ্ক স্থানিকভাবে ল্যান্ডমার্কের কাছাকাছি থাকে, কিন্তু এর অ্যাক্সেস পয়েন্ট থেকে অনেক দূরে থাকে। -
typesহল ল্যান্ডমার্কের স্থান প্রকার ।
areas অবজেক্টে 3টি পর্যন্ত প্রতিক্রিয়া থাকে এবং ছোট অঞ্চলের প্রতিনিধিত্ব করে এমন জায়গায় সীমাবদ্ধ করে, যেমন আশেপাশের এলাকা, উপ-অঞ্চল এবং বড় কমপ্লেক্স। যে অঞ্চলগুলিতে অনুরোধ করা স্থানাঙ্ক রয়েছে সেগুলি প্রথমে তালিকাভুক্ত করা হয় এবং ছোট থেকে বৃহত্তম পর্যন্ত অর্ডার করা হয়। প্রতিটি areas ফলাফল নিম্নলিখিত মান ধারণ করে:
-
place_idহল এলাকার ফলাফলের স্থান আইডি। স্থান আইডি ওভারভিউ দেখুন. -
display_nameহল এলাকার প্রদর্শনের নাম এবং এতেlanguage_codeএবংtextরয়েছে। -
containmentহল ইনপুট স্থানাঙ্ক এবং এলাকার ফলাফলের মধ্যে আনুমানিক নিয়ন্ত্রণ সম্পর্ক: -
"NEAR"হল ডিফল্ট সম্পর্ক যখন নিচের কোনটি প্রযোজ্য হয় না। -
"WITHIN"যখন ইনপুট স্থানাঙ্কটি এলাকার কেন্দ্রের কাছাকাছি থাকে৷ -
"OUTSKIRTS"যখন ইনপুট স্থানাঙ্কটি এলাকার প্রান্তের কাছাকাছি থাকে।
ঠিকানা বর্ণনাকারী কভারেজ
ঠিকানার বর্ণনাকারীরা ভারতের জন্য GA-তে রয়েছে। ভারতে ঠিকানা বর্ণনাকারীর ব্যবহারে কোনো অতিরিক্ত খরচ হয় না এবং ব্যবহার বিদ্যমান জিওকোডিং (ইন্ডিয়া) এসেনশিয়ালস SKU দ্বারা কভার করা হয়।
প্রতিক্রিয়া
এই বৈশিষ্ট্যটি সমস্ত অঞ্চলে উপলব্ধ। এটি ভারতের জন্য GA তে এবং অন্যান্য সমস্ত অঞ্চলের জন্য প্রাক-GA পরীক্ষামূলক লঞ্চ পর্যায়ে রয়েছে। আমরা প্রতিক্রিয়ার প্রশংসা করব:
- শুধুমাত্র ভারত অঞ্চল সম্পর্কিত সমস্যার জন্য, সহায়তা দলের সাথে যোগাযোগ করুন।
- পরীক্ষামূলক প্রকাশের প্রতিক্রিয়ার জন্য, ঠিকানা-descriptors-feedback@google.com- এ আমাদের ইমেল করুন।
- আরও তথ্যের জন্য ঠিকানা বর্ণনাকারী কভারেজ বিবরণ দেখুন।
বিপরীত জিওকোডিং (অ্যাড্রেস লুকআপ)
জিওকোডিং শব্দটি সাধারণত একটি মানচিত্রের একটি অবস্থানে একটি মানব-পাঠযোগ্য ঠিকানা অনুবাদ করাকে বোঝায়। কথোপকথন করার প্রক্রিয়া, মানচিত্রের একটি অবস্থানকে মানব-পাঠযোগ্য ঠিকানায় অনুবাদ করে, এটি বিপরীত জিওকোডিং নামে পরিচিত।
একটি পাঠ্য address সরবরাহ করার পরিবর্তে, location প্যারামিটারে একটি কমা দ্বারা পৃথক অক্ষাংশ/দ্রাঘিমাংশ জুড়ি সরবরাহ করুন৷
নিম্নলিখিত উদাহরণটি একটি অক্ষাংশ/দ্রাঘিমাংশের মানকে জিওকোড করে এবং সেই অবস্থানে মানচিত্রটিকে কেন্দ্র করে, ফর্ম্যাট করা ঠিকানা সহ একটি তথ্য উইন্ডো নিয়ে আসে:
টাইপস্ক্রিপ্ট
function initMap(): void { const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { zoom: 8, center: { lat: 40.731, lng: -73.997 }, } ); const geocoder = new google.maps.Geocoder(); const infowindow = new google.maps.InfoWindow(); (document.getElementById("submit") as HTMLElement).addEventListener( "click", () => { geocodeLatLng(geocoder, map, infowindow); } ); } function geocodeLatLng( geocoder: google.maps.Geocoder, map: google.maps.Map, infowindow: google.maps.InfoWindow ) { const input = (document.getElementById("latlng") as HTMLInputElement).value; const latlngStr = input.split(",", 2); const latlng = { lat: parseFloat(latlngStr[0]), lng: parseFloat(latlngStr[1]), }; geocoder .geocode({ location: latlng }) .then((response) => { if (response.results[0]) { map.setZoom(11); const marker = new google.maps.Marker({ position: latlng, map: map, }); infowindow.setContent(response.results[0].formatted_address); infowindow.open(map, marker); } else { window.alert("No results found"); } }) .catch((e) => window.alert("Geocoder failed due to: " + e)); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
জাভাস্ক্রিপ্ট
function initMap() { const map = new google.maps.Map(document.getElementById("map"), { zoom: 8, center: { lat: 40.731, lng: -73.997 }, }); const geocoder = new google.maps.Geocoder(); const infowindow = new google.maps.InfoWindow(); document.getElementById("submit").addEventListener("click", () => { geocodeLatLng(geocoder, map, infowindow); }); } function geocodeLatLng(geocoder, map, infowindow) { const input = document.getElementById("latlng").value; const latlngStr = input.split(",", 2); const latlng = { lat: parseFloat(latlngStr[0]), lng: parseFloat(latlngStr[1]), }; geocoder .geocode({ location: latlng }) .then((response) => { if (response.results[0]) { map.setZoom(11); const marker = new google.maps.Marker({ position: latlng, map: map, }); infowindow.setContent(response.results[0].formatted_address); infowindow.open(map, marker); } else { window.alert("No results found"); } }) .catch((e) => window.alert("Geocoder failed due to: " + e)); } window.initMap = initMap;
নমুনা চেষ্টা করুন
উল্লেখ্য যে পূর্ববর্তী উদাহরণে আমরা results[0] । বিপরীত জিওকোডার প্রায়ই একাধিক ফলাফল প্রদান করে। জিওকোডেড ঠিকানাগুলি কেবল ডাক ঠিকানা নয়, ভৌগলিকভাবে একটি অবস্থানের নাম দেওয়ার যে কোনও উপায়। উদাহরণ স্বরূপ, শিকাগো শহরের একটি পয়েন্ট জিওকোড করার সময়, জিওকোড করা পয়েন্টটিকে রাস্তার ঠিকানা হিসাবে, শহর (শিকাগো), এর রাজ্য (ইলিনয়) বা একটি দেশ (মার্কিন যুক্তরাষ্ট্র) হিসাবে লেবেল করা হতে পারে। সবগুলোই জিওকোডারের ঠিকানা। বিপরীত জিওকোডার এই সমস্ত ফলাফল প্রদান করে।
বিপরীত জিওকোডার রাজনৈতিক সত্তা (দেশ, প্রদেশ, শহর এবং পাড়া), রাস্তার ঠিকানা এবং পোস্টাল কোডের সাথে মেলে।
এখানে ঠিকানাগুলির তালিকার একটি উদাহরণ রয়েছে যা উপরের ক্যোয়ারীটি ফিরে আসতে পারে:
results[0].formatted_address: "277 Bedford Ave, Brooklyn, NY 11211, USA" results[1].formatted_address: "Grand St/Bedford Av, Brooklyn, NY 11211, USA" results[2].formatted_address: "Williamsburg, Brooklyn, NY, USA" results[3].formatted_address: "Brooklyn, NY, USA" results[4].formatted_address: "New York, NY, USA" results[5].formatted_address: "Brooklyn, NY 11211, USA" results[6].formatted_address: "Kings County, NY, USA" results[7].formatted_address: "New York-Northern New Jersey-Long Island, NY-NJ-PA, USA" results[8].formatted_address: "New York Metropolitan Area, USA" results[9].formatted_address: "New York, USA"
সর্বোত্তম থেকে সর্বনিম্ন ম্যাচের ক্রমে ঠিকানাগুলি ফেরত দেওয়া হয়। সাধারণত, আরও সঠিক ঠিকানাই সবচেয়ে বিশিষ্ট ফলাফল, যেমনটি এই ক্ষেত্রে। মনে রাখবেন যে আমরা সবচেয়ে নির্দিষ্ট রাস্তার ঠিকানা থেকে কম নির্দিষ্ট রাজনৈতিক সত্ত্বা যেমন আশেপাশের, শহর, কাউন্টি, রাজ্য ইত্যাদিতে বিভিন্ন ধরনের ঠিকানা ফেরত দিই। আপনি যদি আরও সাধারণ ঠিকানার সাথে মিল রাখতে চান তবে আপনি results[].types ক্ষেত্র পরিদর্শন করতে চাইতে পারেন।
দ্রষ্টব্য: বিপরীত জিওকোডিং একটি সঠিক বিজ্ঞান নয়। জিওকোডার একটি নির্দিষ্ট সহনশীলতার মধ্যে নিকটতম ঠিকানাযোগ্য অবস্থান খুঁজে বের করার চেষ্টা করবে।
একটি স্থান আইডি জন্য একটি ঠিকানা পুনরুদ্ধার করা হচ্ছে
একটি প্রদত্ত স্থান আইডির ঠিকানা খুঁজে পেতে একটি placeId সরবরাহ করুন৷ স্থান আইডি একটি অনন্য শনাক্তকারী যা অন্যান্য Google API-এর সাথে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, আপনি একটি স্ন্যাপড পয়েন্টের ঠিকানা পেতে Roads API দ্বারা প্রত্যাবর্তিত placeId সরবরাহ করতে পারেন। স্থান আইডি সম্পর্কে আরও তথ্যের জন্য, স্থান আইডি ওভারভিউ দেখুন।
আপনি যখন একটি placeId সরবরাহ করেন, অনুরোধে নিম্নলিখিত ক্ষেত্রগুলির মধ্যে কোনোটি থাকতে পারে না:
-
address -
latLng -
location -
componentRestrictions
নিম্নলিখিত উদাহরণটি একটি স্থানের আইডি গ্রহণ করে, সংশ্লিষ্ট ঠিকানা খুঁজে পায় এবং সেই অবস্থানে মানচিত্রটিকে কেন্দ্র করে। এটি প্রাসঙ্গিক স্থানের ফর্ম্যাট করা ঠিকানা দেখানো একটি তথ্য উইন্ডোও নিয়ে আসে:
টাইপস্ক্রিপ্ট
// Initialize the map. function initMap(): void { const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { zoom: 8, center: { lat: 40.72, lng: -73.96 }, } ); const geocoder = new google.maps.Geocoder(); const infowindow = new google.maps.InfoWindow(); (document.getElementById("submit") as HTMLElement).addEventListener( "click", () => { geocodePlaceId(geocoder, map, infowindow); } ); } // This function is called when the user clicks the UI button requesting // a geocode of a place ID. function geocodePlaceId( geocoder: google.maps.Geocoder, map: google.maps.Map, infowindow: google.maps.InfoWindow ) { const placeId = (document.getElementById("place-id") as HTMLInputElement) .value; geocoder .geocode({ placeId: placeId }) .then(({ results }) => { if (results[0]) { map.setZoom(11); map.setCenter(results[0].geometry.location); const marker = new google.maps.Marker({ map, position: results[0].geometry.location, }); infowindow.setContent(results[0].formatted_address); infowindow.open(map, marker); } else { window.alert("No results found"); } }) .catch((e) => window.alert("Geocoder failed due to: " + e)); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
জাভাস্ক্রিপ্ট
// Initialize the map. function initMap() { const map = new google.maps.Map(document.getElementById("map"), { zoom: 8, center: { lat: 40.72, lng: -73.96 }, }); const geocoder = new google.maps.Geocoder(); const infowindow = new google.maps.InfoWindow(); document.getElementById("submit").addEventListener("click", () => { geocodePlaceId(geocoder, map, infowindow); }); } // This function is called when the user clicks the UI button requesting // a geocode of a place ID. function geocodePlaceId(geocoder, map, infowindow) { const placeId = document.getElementById("place-id").value; geocoder .geocode({ placeId: placeId }) .then(({ results }) => { if (results[0]) { map.setZoom(11); map.setCenter(results[0].geometry.location); const marker = new google.maps.Marker({ map, position: results[0].geometry.location, }); infowindow.setContent(results[0].formatted_address); infowindow.open(map, marker); } else { window.alert("No results found"); } }) .catch((e) => window.alert("Geocoder failed due to: " + e)); } window.initMap = initMap;