জিওকোডিং সংক্রান্ত অনুরোধ ও উত্তর

ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA)-এর ডেভেলপার

অনুরোধ করুন

Geocoding API অনুরোধের ফর্ম্যাট নিচে দেওয়া হল:

https://maps.googleapis.com/maps/api/geocode/outputFormat?parameters

যেখানে outputFormat নিম্নলিখিত মানগুলির মধ্যে যেকোনও একটি হতে পারে:

  • json (সাজেস্ট করা) জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন (JSON)-এ আউটপুট দেখায়; অথবা
  • xml XML-এ আউটপুট নির্দেশ করে

HTTPS থাকতে হবে।

কিছু প্যারামিটার আবশ্যক এবং কিছু ঐচ্ছিক। URL-এর স্ট্যান্ডার্ড অনুযায়ী, অ্যাম্পারস্যান্ড (&) অক্ষর ব্যবহার করে প্যারামিটার আলাদা করা হয়।

এই পৃষ্ঠার বাকি অংশে জিওকোডিং এবং রিভার্স জিওকোডিং আলাদাভাবে বর্ণনা করা হয়েছে, কারণ প্রতিটি ধরনের অনুরোধের জন্য আলাদা প্যারামিটার উপলভ্য।

জিওকোডিং (অক্ষাংশ/দ্রাঘিমাংশ লুকআপ) প্যারামিটার

জিওকোডিং অনুরোধে প্রয়োজনীয় প্যারামিটার:

  • key — আপনার অ্যাপ্লিকেশনের API key। কোটা ম্যানেজমেন্টের উদ্দেশ্যে এই কী আপনার অ্যাপ্লিকেশনকে শনাক্ত করে। কীভাবে কী পাবেন তা জানুন।
  • আপনাকে অবশ্যই অনুরোধে address বা components অথবা দুটিই উল্লেখ করতে হবে:

    • address — রাস্তার ঠিকানা বা Plus Code যা আপনি জিওকোড করতে চান। মনে রাখবেন: ঠিকানা জিওকোডিং অক্ষাংশ ও দ্রাঘিমাংশ স্থানাঙ্ক বা অন্যান্য অসংগঠিত স্ট্রিং সমাধান করে না যা কোনও ঠিকানা বা Plus Code-কে উপস্থাপন করে না। এই ধরনের স্ট্রিং ব্যবহার করে করা অনুরোধ কাজ করে না এবং এর ফলে ভুল উত্তর বা অনির্দিষ্ট আচরণ দেখা যেতে পারে। কাজ করে না এমন কোয়েরির উদাহরণ নিচে দেওয়া হল:
      কোয়েরির ধরন উদাহরণ
      অক্ষাংশ ও দ্রাঘিমাংশ স্থানাঙ্ক। পরিবর্তে রিভার্স জিওকোডিং ব্যবহার করুন। "37.422131,-122.084801"
      একটি কোয়েরিতে অনেক বেশি ধারণা বা সীমাবদ্ধতা, যেমন একাধিক জায়গা, রাস্তা বা শহরের নাম "মার্কেট স্ট্রিট সান ফ্রান্সিসকো সান জোসে বিমানবন্দর"
      Google Maps-এ ডাক ঠিকানার এলিমেন্ট দেখানো হয়নি "C/O জন স্মিথ ১২৩ মেইন স্ট্রিট"
      "পোস্ট বক্স ১৩ সান ফ্রান্সিসকো"
      ব্যবসা, চেন বা বিভাগের নাম লোকেশনের সাথে যুক্ত করা যেখানে এইসব এন্টিটি উপলভ্য নয় "টেক্সাসের ডালাসের কাছে টেসকো"
      একাধিক ব্যাখ্যা সহ অস্পষ্ট কোয়েরি "চার্জার ড্রপ-অফ"
      ঐতিহাসিক নাম আর ব্যবহার করা হয় না "মিডলসেক্স যুক্তরাজ্য"
      নন-জিওস্পেশিয়াল এলিমেন্ট বা উদ্দেশ্য "ভেনচুরা হারবারে কতগুলি নৌকা আছে?"
      বেসরকারি বা ভ্যানিটি নাম "The Jenga"
      "The Helter Skelter"
      সংশ্লিষ্ট দেশের জাতীয় ডাক পরিষেবা দ্বারা ব্যবহৃত ফর্ম্যাট অনুযায়ী ঠিকানা উল্লেখ করুন। ঠিকানার সাথে ব্যবসার নাম এবং ইউনিট, স্যুট বা ফ্লোর নম্বরের মতো অতিরিক্ত তথ্য যোগ করা এড়িয়ে চলুন। রাস্তার ঠিকানার এলিমেন্ট স্পেস দিয়ে আলাদা করা উচিত (এখানে url-escaped হিসেবে %20-এ দেখানো হয়েছে):
      address=24%20Sussex%20Drive%20Ottawa%20ON
      এখানে দেখানো ফর্ম্যাট অনুযায়ী Plus Code লিখুন (প্লাস চিহ্ন URL-এ %2B হিসেবে এবং স্পেস URL-এ %20 হিসেবে দেখানো হয়):
      • গ্লোবাল কোড হল ৪ অক্ষরের এলাকার কোড এবং ৬ অক্ষর বা তার বেশি দৈর্ঘ্যের লোকাল কোড (849VCWC8+R9 হল 849VCWC8%2BR9)।
      • কম্পাউন্ড কোড হল ৬টি অক্ষর বা তার বেশি দৈর্ঘ্যের স্থানীয় কোড যার সাথে সুনির্দিষ্ট লোকেশন (CWC8+R9 Mountain View, CA, USA হল CWC8%2BR9%20Mountain%20View%20CA%20USA) উল্লেখ করা থাকে।
    • components — পাইপ (|) দ্বারা আলাদা করা এলিমেন্ট সহ কম্পোনেন্ট ফিল্টার। address প্রদান করা হলে কম্পোনেন্ট ফিল্টারও ঐচ্ছিক প্যারামিটার হিসেবে গ্রহণ করা হয়। কম্পোনেন্ট ফিল্টারের প্রতিটি এলিমেন্টে একটি component:value পেয়ার থাকে এবং জিওকোডার থেকে পাওয়া ফলাফল সম্পূর্ণভাবে সীমাবদ্ধ করে। কম্পোনেন্ট ফিল্টারিং সম্পর্কে আরও তথ্য নিচে দেখুন।

অতিরিক্ত নির্দেশিকার জন্য প্রায়শই জিজ্ঞাসিত প্রশ্ন দেখুন।

জিওকোডিং অনুরোধে ঐচ্ছিক প্যারামিটার:

  • bounds — ভিউপোর্টের বাউন্ডিং বক্স যার মধ্যে জিওকোড ফলাফল আরও স্পষ্টভাবে বায়াস করতে হবে। এই প্যারামিটারটি জিওকোডার থেকে পাওয়া ফলাফলকে শুধুমাত্র প্রভাবিত করবে, সম্পূর্ণভাবে সীমাবদ্ধ করবে না। (আরও তথ্যের জন্য নিচে Viewport Biasing দেখুন।)
  • language — যে ভাষায় ফলাফল দেখানো হবে।
    • অনুমোদিত ভাষার তালিকা দেখুন। Google প্রায়ই কাজ করে এমন ভাষার তালিকা আপডেট করে, তাই এই তালিকা সম্পূর্ণ নাও হতে পারে।
    • language প্রদান করা না হলে, জিওকোডার Accept-Language হেডারে উল্লেখ করা পছন্দের ভাষা অথবা যে ডোমেন থেকে অনুরোধ পাঠানো হয়েছে সেটির নেটিভ ভাষা ব্যবহার করার চেষ্টা করে।
    • জিওকোডার এমন রাস্তার ঠিকানা প্রদান করার জন্য যথাসাধ্য চেষ্টা করে যা ব্যবহারকারী এবং স্থানীয় লোকজন উভয়ের জন্যই বোধগম্য। এই লক্ষ্য পূরণ করতে, এটি স্থানীয় ভাষায় রাস্তার ঠিকানা দেখায়, প্রয়োজনে ব্যবহারকারীর পছন্দের ভাষা অনুযায়ী তার পড়ার উপযোগী স্ক্রিপ্টে লিপ্যন্তর করে। অন্যান্য সব ঠিকানা পছন্দের ভাষায় ফেরত পাঠানো হয়। ঠিকানার সব কম্পোনেন্ট একই ভাষায় দেখানো হয়, যা প্রথম কম্পোনেন্ট থেকে বেছে নেওয়া হয়।
    • পছন্দের ভাষায় কোনও নাম উপলভ্য না থাকলে, জিওকোডার সবচেয়ে কাছাকাছি মিল ব্যবহার করে।
    • API যে ফলাফল দেখায় এবং যে ক্রমে দেখায়, তার উপর পছন্দের ভাষার সামান্য প্রভাব থাকে। জিওকোডার ভাষার উপর নির্ভর করে সংক্ষিপ্ত রূপকে আলাদাভাবে ব্যাখ্যা করে, যেমন রাস্তার প্রকারের সংক্ষিপ্ত রূপ বা সমার্থক শব্দ যা একটি ভাষায় বৈধ হতে পারে কিন্তু অন্য ভাষায় নয়। যেমন, হাঙ্গেরিয়ান ভাষায় utca এবং tér হল যথাক্রমে রাস্তা এবং স্কোয়ারের সমার্থক শব্দ।
  • region — অঞ্চল কোড, ccTLD ("টপ-লেভেল ডোমেন") হিসেবে দুই-অক্ষরের মান দিয়ে নির্দিষ্ট করা। এই প্যারামিটারটি শুধুমাত্র জিওকোডার থেকে পাওয়া ফলাফলকে প্রভাবিত করবে, সম্পূর্ণভাবে সীমাবদ্ধ করবে না। (আরও তথ্যের জন্য নিচে অঞ্চল বায়াসিং দেখুন।) এছাড়াও, প্রযোজ্য আইনের উপর ভিত্তি করে প্যারামিটার ফলাফলের উপর প্রভাব ফেলতে পারে।
  • components — পাইপ (|) দিয়ে আলাদা করা এলিমেন্ট সহ কম্পোনেন্ট ফিল্টার। অনুরোধে address না থাকলে কম্পোনেন্ট ফিল্টার প্রয়োজন। কম্পোনেন্ট ফিল্টারের প্রতিটি এলিমেন্টে একটি component:value পেয়ার থাকে এবং জিওকোডার থেকে পাওয়া ফলাফল সম্পূর্ণরূপে সীমাবদ্ধ করে। কম্পোনেন্ট ফিল্টারিং সম্পর্কে আরও তথ্য নিচে দেখুন।
  • extra_computations — উত্তরে নিম্নলিখিত অতিরিক্ত ফিচার উল্লেখ করতে এই প্যারামিটার ব্যবহার করুন: একই API অনুরোধের জন্য এইসব ফিচারের একাধিক ফিচার চালু করতে, প্রতিটি ফিচারের জন্য অনুরোধে extra_computations প্যারামিটার অন্তর্ভুক্ত করুন, যেমন:
    extra_computations=ADDRESS_DESCRIPTORS&extra_computations=BUILDING_AND_ENTRANCES

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

জিওকোডিং রেসপন্স URL অনুরোধের মধ্যে output ফ্ল্যাগ দ্বারা নির্দেশিত ফর্ম্যাটে অথবা ডিফল্ট হিসেবে JSON ফর্ম্যাটে ফেরত পাঠানো হয়।

এই উদাহরণে, Geocoding API "1600 Amphitheatre Parkway, Mountain View, CA" ঠিকানার কোয়েরির জন্য json রেসপন্সের অনুরোধ করে।

এই অনুরোধ JSON output ফ্ল্যাগ ব্যবহার করে দেখায়:

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY

এই অনুরোধ XML output ফ্ল্যাগ ব্যবহার করে দেখায়:

https://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY

স্যাম্পেল JSON ও XML উত্তর দেখতে নিচের ট্যাব বেছে নিন।

JSON

{
    "results": [
        {
            "address_components": [
                {
                    "long_name": "1600",
                    "short_name": "1600",
                    "types": [
                        "street_number"
                    ]
                },
                {
                    "long_name": "Amphitheatre Parkway",
                    "short_name": "Amphitheatre Pkwy",
                    "types": [
                        "route"
                    ]
                },
                {
                    "long_name": "Mountain View",
                    "short_name": "Mountain View",
                    "types": [
                        "locality",
                        "political"
                    ]
                },
                {
                    "long_name": "Santa Clara County",
                    "short_name": "Santa Clara County",
                    "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"
                    ]
                },
                {
                    "long_name": "94043",
                    "short_name": "94043",
                    "types": [
                        "postal_code"
                    ]
                },
                {
                    "long_name": "1351",
                    "short_name": "1351",
                    "types": [
                        "postal_code_suffix"
                    ]
                }
            ],
            "formatted_address": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
            "geometry": {
                "location": {
                    "lat": 37.4222804,
                    "lng": -122.0843428
                },
                "location_type": "ROOFTOP",
                "viewport": {
                    "northeast": {
                        "lat": 37.4237349802915,
                        "lng": -122.083183169709
                    },
                    "southwest": {
                        "lat": 37.4210370197085,
                        "lng": -122.085881130292
                    }
                }
            },
            "place_id": "ChIJRxcAvRO7j4AR6hm6tys8yA8",
            "plus_code": {
                "compound_code": "CWC8+W7 Mountain View, CA",
                "global_code": "849VCWC8+W7"
            },
            "types": [
                "street_address"
            ]
        }
    ],
    "status": "OK"
}

মনে রাখবেন যে JSON রেসপন্সে দুটি রুট এলিমেন্ট থাকে:

  • "status"-এ অনুরোধের মেটাডেটা আছে। নিচে স্ট্যাটাস কোড দেখুন।
  • "results"-এ জিওকোড করা ঠিকানা সংক্রান্ত তথ্য এবং জ্যামিতি সংক্রান্ত তথ্যের অ্যারে থাকে।

সাধারণত, ঠিকানা খোঁজার জন্য "results" অ্যারেতে শুধুমাত্র একটি এন্ট্রি রিটার্ন করা হয়, যদিও ঠিকানা সংক্রান্ত কোয়েরি অস্পষ্ট হলে জিওকোডার একাধিক ফলাফল রিটার্ন করতে পারে।

XML

<GeocodeResponse>
    <status>OK</status>
    <result>
        <type>street_address</type>
        <formatted_address>1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA</formatted_address>
        <address_component>
            <long_name>1600</long_name>
            <short_name>1600</short_name>
            <type>street_number</type>
        </address_component>
        <address_component>
            <long_name>Amphitheatre Parkway</long_name>
            <short_name>Amphitheatre Pkwy</short_name>
            <type>route</type>
        </address_component>
        <address_component>
            <long_name>Mountain View</long_name>
            <short_name>Mountain View</short_name>
            <type>locality</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>Santa Clara County</long_name>
            <short_name>Santa Clara County</short_name>
            <type>administrative_area_level_2</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>California</long_name>
            <short_name>CA</short_name>
            <type>administrative_area_level_1</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>United States</long_name>
            <short_name>US</short_name>
            <type>country</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>94043</long_name>
            <short_name>94043</short_name>
            <type>postal_code</type>
        </address_component>
        <geometry>
            <location>
                <lat>37.4224428</lat>
                <lng>-122.0842467</lng>
            </location>
            <location_type>ROOFTOP</location_type>
            <viewport>
                <southwest>
                    <lat>37.4212648</lat>
                    <lng>-122.0856069</lng>
                </southwest>
                <northeast>
                    <lat>37.4239628</lat>
                    <lng>-122.0829089</lng>
                </northeast>
            </viewport>
        </geometry>
        <place_id>ChIJeRpOeF67j4AR9ydy_PIzPuM</place_id>
        <plus_code>
            <global_code>849VCWC8+X8</global_code>
            <compound_code>CWC8+X8 Mountain View, CA</compound_code>
        </plus_code>
    </result>
</GeocodeResponse>

মনে রাখবেন যে XML রেসপন্সে একটি <GeocodeResponse> এবং দুটি টপ-লেভেল এলিমেন্ট থাকে:

  • <status>-এ অনুরোধের মেটাডেটা আছে। নিচে স্ট্যাটাস কোড দেখুন।
  • শূন্য বা তার বেশি <result> এলিমেন্ট, যার প্রতিটিতে জিওকোড করা ঠিকানা সংক্রান্ত তথ্য এবং জ্যামিতি সংক্রান্ত তথ্যের একটি করে সেট থাকে।

JSON রেসপন্সের তুলনায় XML রেসপন্স অনেক বড়। সেই কারণে, আপনার পরিষেবার জন্য কোনও কারণে xml প্রয়োজন না হলে, আমরা সাজেস্ট করি যে আপনি পছন্দের আউটপুট ফ্ল্যাগ হিসেবে json ব্যবহার করুন। এছাড়াও, XML ট্রি প্রসেস করার সময় কিছু সতর্কতা অবলম্বন করতে হয়, যাতে আপনি সঠিক নোড ও এলিমেন্ট রেফারেন্স করতে পারেন। আউটপুট প্রসেসিংয়ের জন্য কিছু সাজেস্ট করা ডিজাইন প্যাটার্ন দেখতে XPath-এর মাধ্যমে XML পার্স করা দেখুন।

  • XML ফলাফল রুট <GeocodeResponse> এলিমেন্টে র‍্যাপ করা থাকে।
  • JSON একাধিক এলিমেন্ট সহ এন্ট্রিকে বহুবচন অ্যারে (types) হিসেবে দেখায়, যেখানে XML এগুলিকে একাধিক একবচন এলিমেন্ট (<type>) হিসেবে দেখায়।
  • JSON-এ খালি অ্যারের মাধ্যমে ফাঁকা এলিমেন্ট দেখানো হয়, কিন্তু XML-এ এই ধরনের কোনও এলিমেন্ট না থাকার মাধ্যমে তা দেখানো হয়। উদাহরণস্বরূপ, কোনও ফলাফল জেনারেট না করা রেসপন্স JSON-এ খালি results অ্যারে রিটার্ন করবে, কিন্তু XML-এ কোনও <result> এলিমেন্ট রিটার্ন করবে না।

স্ট্যাটাস কোড

জিওকোডিং রেসপন্স অবজেক্টের মধ্যে "status" ফিল্ডে অনুরোধের স্ট্যাটাস থাকে এবং জিওকোডিং কেন কাজ করছে না তা ট্র্যাক করতে আপনাকে সাহায্য করার জন্য ডিবাগিং তথ্য থাকতে পারে। "status" ফিল্ডে নিম্নলিখিত ভ্যালু থাকতে পারে:

  • "OK"-এর অর্থ হল কোনও সমস্যা হয়নি; ঠিকানাটি সফলভাবে পার্স করা হয়েছে এবং অন্তত একটি জিওকোড পাওয়া গেছে।
  • "ZERO_RESULTS"-এর অর্থ হল জিওকোড সফল হয়েছে কিন্তু কোনও ফলাফল পাওয়া যায়নি। জিওকোডার যদি এমন কোনও address-এ পাস করা হয় যার কোনও অস্তিত্ব নেই, তাহলে এটি হতে পারে।
  • OVER_DAILY_LIMIT নিম্নলিখিত যেকোনও একটিকে নির্দেশ করে:
    • API কী নেই বা ভুল।
    • আপনার অ্যাকাউন্টে বিলিং চালু করা হয়নি।
    • ব্যবহারের ক্ষেত্রে নিজের উপর আরোপ করা সীমা অতিক্রম করা হয়েছে।
    • পেমেন্টের যে পদ্ধতি উল্লেখ করা হয়েছে সেটি আর বৈধ নয় (যেমন, ক্রেডিট কার্ডের মেয়াদ শেষ হয়ে গেছে)।

    এটি কীভাবে ঠিক করতে হয় তা জানতে Maps-এর প্রায়শই জিজ্ঞাসিত প্রশ্ন দেখুন।

  • "OVER_QUERY_LIMIT" থেকে বোঝা যায় যে আপনার কোটা শেষ হয়ে গেছে।
  • "REQUEST_DENIED"-এর অর্থ হল আপনার অনুরোধ প্রত্যাখ্যান করা হয়েছে।
  • "INVALID_REQUEST" সাধারণত ইঙ্গিত করে যে কোয়েরি (address, components বা latlng) নেই।
  • "UNKNOWN_ERROR"-এর অর্থ হল, সার্ভারে সমস্যার কারণে অনুরোধটি প্রসেস করা যায়নি। আপনি আবার চেষ্টা করলে অনুরোধটি সফল হতে পারে।

সমস্যার মেসেজ

জিওকোডার OK ছাড়া অন্য কোনও স্ট্যাটাস কোড রিটার্ন করলে, জিওকোডিং রেসপন্স অবজেক্টের মধ্যে অতিরিক্ত error_message ফিল্ড থাকতে পারে। এই ফিল্ডে প্রদত্ত স্ট্যাটাস কোডের কারণ সম্পর্কে আরও বিস্তারিত তথ্য রয়েছে।

ফলাফল

জিওকোডার ফলাফল রিটার্ন করলে, এটি সেগুলিকে (JSON) results অ্যারেতে রাখে। জিওকোডার কোনও ফলাফল না দেখালেও (যেমন, ঠিকানাটি যদি না থাকে) এটি এখনও একটি খালি results অ্যারে দেখায়। (XML উত্তরে শূন্য বা তার বেশি <result> এলিমেন্ট থাকে।)

সাধারণত ফলাফলে নিম্নলিখিত ফিল্ড থাকে:

  • types[] অ্যারে, ফিরে আসা ফলাফলের ধরন নির্দেশ করে। এই অ্যারেতে শূন্য বা তার বেশি ট্যাগ রয়েছে যা ফলাফলে দেখানো ফিচারের ধরন শনাক্ত করে। যেমন, "শিকাগো"র জিওকোড "locality" রিটার্ন করে, যা থেকে বোঝা যায় যে "শিকাগো" একটি শহর এবং এটি "political" রিটার্ন করে, যা থেকে বোঝা যায় যে এটি একটি রাজনৈতিক সত্তা। আরও তথ্যের জন্য, ঠিকানার ধরন ও ঠিকানার কম্পোনেন্টের ধরন দেখুন।
  • formatted_address হল একটি স্ট্রিং যাতে এই লোকেশনের মানুষের-পঠনযোগ্য ঠিকানা থাকে।

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

    ফর্ম্যাট করা ঠিকানা এক বা একাধিক ঠিকানার কম্পোনেন্ট নিয়ে গঠিত। যেমন, "111 8th Avenue, New York, NY" ঠিকানায় নিম্নলিখিত উপাদানগুলি রয়েছে: "111" (রাস্তার নম্বর), "8th Avenue" (রুট), "New York" (শহর) এবং "NY" (মার্কিন যুক্তরাষ্ট্রের রাজ্য)।

    প্রোগ্রাম্যাটিক্যালি ফর্ম্যাট করা ঠিকানা পার্স করবেন না। পরিবর্তে, আপনাকে ঠিকানার আলাদা আলাদা অংশ ব্যবহার করতে হবে, যা API রেসপন্সে ফর্ম্যাট করা ঠিকানা ফিল্ডের পাশাপাশি অন্তর্ভুক্ত থাকে।

  • address_components[] হল একটি অ্যারে যাতে এই ঠিকানার ক্ষেত্রে প্রযোজ্য আলাদা আলাদা কম্পোনেন্ট থাকে।

    প্রতিটি ঠিকানার কম্পোনেন্টে সাধারণত নিম্নলিখিত ফিল্ড থাকে:

    • types[] হল একটি অ্যারে যা ঠিকানা কম্পোনেন্টের ধরন নির্দেশ করে। ঠিকানার উপাদানের জন্য কোনও পরিচিত ধরন না থাকলে, ঠিকানার উপাদানে একটি খালি ধরনের অ্যারে থাকতে পারে। প্রয়োজন অনুযায়ী API নতুন ধরনের ভ্যালু যোগ করতে পারে। আরও তথ্যের জন্য, ঠিকানার ধরন ও ঠিকানার কম্পোনেন্টের ধরন দেখুন।
    • long_name হল জিওকোডারের মাধ্যমে পাওয়া ঠিকানা কম্পোনেন্টের সম্পূর্ণ টেক্সট বিবরণ বা নাম।
    • short_name হল ঠিকানা কম্পোনেন্টের জন্য সংক্ষিপ্ত টেক্সট নাম, যদি উপলভ্য থাকে। যেমন, আলাস্কা রাজ্যের জন্য কোনও ঠিকানা উপাদানের long_name "আলাস্কা" এবং short_name "AK" হতে পারে, যেখানে ২-অক্ষরের পোস্টাল সংক্ষিপ্ত রূপ ব্যবহার করা হয়।

    address_components[] অ্যারে সম্পর্কে নিম্নলিখিত তথ্য মনে রাখবেন:

    • ঠিকানার উপাদানের অ্যারেতে formatted_address-এর চেয়ে বেশি উপাদান থাকতে পারে।
    • অ্যারেতে ঠিকানা সহ সব রাজনৈতিক এন্টিটি অন্তর্ভুক্ত নাও থাকতে পারে, formatted_address-এ অন্তর্ভুক্ত এন্টিটিগুলি ছাড়া। নির্দিষ্ট ঠিকানা আছে এমন সব রাজনৈতিক এন্টিটি খুঁজে পেতে, আপনাকে রিভার্স জিওকোডিং ব্যবহার করতে হবে, অনুরোধে প্যারামিটার হিসেবে ঠিকানার অক্ষাংশ/দ্রাঘিমাংশ পাস করতে হবে।
    • অনুরোধের মধ্যে উত্তরের ফর্ম্যাট একই থাকবে কিনা তার কোনও গ্যারান্টি নেই। বিশেষ করে, address_components-এর সংখ্যা অনুরোধ করা ঠিকানার উপর নির্ভর করে এবং একই ঠিকানার জন্য সময়ের সাথে সাথে পরিবর্তিত হতে পারে। অ্যারেতে কোনও কম্পোনেন্ট তার পজিশন পরিবর্তন করতে পারে। কম্পোনেন্টের ধরন পরিবর্তন হতে পারে। পরবর্তী উত্তরে কোনও নির্দিষ্ট কম্পোনেন্ট নাও থাকতে পারে।

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

  • postcode_localities[] হল একটি অ্যারে যা একটি পিন কোডে থাকা সর্বাধিক ১০০টি এলাকাকে বোঝায়। ফলাফলটি একাধিক এলাকা সহ পোস্টাল কোড হলে তবেই এটি দেখানো হয়।
  • geometry-এ নিম্নলিখিত তথ্য রয়েছে:
    • location-এ জিওকোড করা অক্ষাংশ, দ্রাঘিমাংশের মান থাকে। সাধারণ ঠিকানা খোঁজার জন্য, এই ফিল্ডটি সাধারণত সবচেয়ে গুরুত্বপূর্ণ।
    • location_type নির্দিষ্ট লোকেশন সম্পর্কে অতিরিক্ত ডেটা স্টোর করে। বর্তমানে নিম্নলিখিত ভ্যালু কাজ করে:

      • "ROOFTOP" থেকে বোঝা যায় যে, ফেরত আসা ফলাফল হল একটি সুনির্দিষ্ট জিওকোড, যার জন্য আমাদের কাছে রাস্তার ঠিকানা পর্যন্ত নিখুঁত লোকেশন তথ্য রয়েছে।
      • "RANGE_INTERPOLATED" থেকে বোঝা যায় যে ফেরত আসা ফলাফলটি দুটি সুনির্দিষ্ট বিন্দুর (যেমন ইন্টারসেকশন) মধ্যে ইন্টারপোলেট করা একটি আনুমানিক মান (সাধারণত কোনও রাস্তায়) প্রতিফলিত করে। কোনও রাস্তার ঠিকানার জন্য রুফটপ জিওকোড উপলভ্য না থাকলে সাধারণত ইন্টারপোলেট করা ফলাফল দেখানো হয়।
      • "GEOMETRIC_CENTER" থেকে বোঝা যায় যে ফিরে আসা ফলাফলটি হল কোনও ফলাফলের জ্যামিতিক কেন্দ্র যেমন পলিলাইন (যেমন, রাস্তা) বা পলিগন (অঞ্চল)।
      • "APPROXIMATE" থেকে বোঝা যায় যে ফিরে আসা ফলাফল আনুমানিক।
    • viewport-এ দেখানো ফলাফল দেখানোর জন্য সাজেস্ট করা ভিউপোর্ট থাকে, যা দুটি অক্ষাংশ,দ্রাঘিমাংশ মান হিসেবে নির্দিষ্ট করা থাকে এবং যা ভিউপোর্ট বাউন্ডিং বক্সের southwest এবং northeast কোণকে সংজ্ঞায়িত করে। সাধারণত, ব্যবহারকারীকে দেখানোর সময় ফলাফল ফ্রেম করতে ভিউপোর্ট ব্যবহার করা হয়।
    • bounds (ঐচ্ছিকভাবে ফেরত দেওয়া হয়) বাউন্ডিং বক্স স্টোর করে যা ফেরত দেওয়া ফলাফল সম্পূর্ণভাবে ধারণ করতে পারে। মনে রাখবেন যে এই বাউন্ডগুলি সাজেস্ট করা ভিউপোর্টের সাথে নাও মিলতে পারে। (যেমন, সান ফ্রান্সিসকোর মধ্যে ফ্যারালন দ্বীপপুঞ্জ অন্তর্ভুক্ত, যা টেকনিক্যালি শহরের অংশ, তবে সম্ভবত ভিউপোর্টে দেখানো উচিত নয়।)
  • plus_code (ওপেন লোকেশন কোড এবং Plus Code দেখুন) হল একটি এনকোড করা লোকেশন রেফারেন্স, যা অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক থেকে প্রাপ্ত, যা একটি এলাকাকে উপস্থাপন করে: ১/৮০০০ ডিগ্রির ১/৮০০০ ডিগ্রি (নিরক্ষরেখায় প্রায় ১৪মি x ১৪মি) বা তার চেয়ে ছোট। যেসব জায়গায় রাস্তার ঠিকানা নেই (যেখানে বিল্ডিংয়ের নম্বর বা রাস্তার নাম নেই), সেখানে রাস্তার ঠিকানার পরিবর্তে Plus Code ব্যবহার করা যেতে পারে। API সবসময় Plus Code দেখায় না।

    পরিষেবাটি প্লাস কোড রিটার্ন করলে, এটি গ্লোবাল কোড এবং কম্পাউন্ড কোড হিসেবে ফর্ম্যাট করা হয়:

    • global_code হল ৪ অক্ষরের এলাকার কোড এবং ৬ অক্ষর বা তার বেশি দৈর্ঘ্যের স্থানীয় কোড (849VCWC8+R9)।
    • compound_code হল ৬টি অক্ষর বা তার বেশি দৈর্ঘ্যের স্থানীয় কোড যা নির্দিষ্ট লোকেশন দেখায় (CWC8+R9, Mountain View, CA, USA)। প্রোগ্রাম্যাটিক্যালি এই কন্টেন্ট পার্স করবেন না।
    যেখানে উপলভ্য, সেখানে API গ্লোবাল কোড এবং কম্পাউন্ড কোড, দুটিই রিটার্ন করে। তবে, ফলাফলটি যদি কোনও প্রত্যন্ত লোকেশনে (যেমন, মহাসাগর বা মরুভূমি) হয়, তাহলে শুধুমাত্র গ্লোবাল কোড দেখানো হতে পারে।
  • partial_match-এর অর্থ হল, জিওকোডার আসল অনুরোধের জন্য সম্পূর্ণ মিল খুঁজে পায়নি, যদিও অনুরোধ করা ঠিকানার অংশবিশেষের সাথে মিল খুঁজে পেয়েছে। আপনি হয়ত আসল অনুরোধে বানান ভুল এবং/অথবা অসম্পূর্ণ ঠিকানা আছে কিনা তা পরীক্ষা করতে চাইবেন।

    আপনার অনুরোধে উল্লেখ করা এলাকার মধ্যে রাস্তার ঠিকানা না থাকলে, আংশিক মিলের ঘটনা সবচেয়ে বেশি ঘটে। কোনও অনুরোধ একই এলাকার দুই বা তার বেশি লোকেশনের সাথে মিলে গেলে, আংশিক মিলও দেখানো হতে পারে। যেমন, "Hillpar St, Bristol, UK" লিখলে Henry Street এবং Henrietta Street, দুটির জন্যই আংশিক মিল দেখাবে। মনে রাখবেন যে কোনও অনুরোধে যদি কোনও ভুল বানান সহ ঠিকানা থাকে, তাহলে জিওকোডিং পরিষেবা একটি বিকল্প ঠিকানার সাজেশন দিতে পারে। এইভাবে ট্রিগার করা সাজেশনকেও আংশিক ম্যাচ হিসেবে চিহ্নিত করা হবে।

  • place_id হল একটি অনন্য শনাক্তকারী যা অন্যান্য Google API-এর সাথে ব্যবহার করা যেতে পারে। যেমন, আপনি Places API অনুরোধে place_id ব্যবহার করে স্থানীয় ব্যবসার বিবরণ পেতে পারেন, যেমন ফোন নম্বর, খোলা থাকার সময়, ব্যবহারকারীর রিভিউ এবং আরও অনেক কিছু। প্লেস আইডি এক নজরে দেখুন।

ঠিকানার ধরন এবং ঠিকানা উপাদানের ধরন

উত্তরে types অ্যারে ঠিকানার ধরন নির্দেশ করে। ঠিকানার ধরনের উদাহরণের মধ্যে রয়েছে রাস্তার ঠিকানা, দেশ বা রাজনৈতিক সত্তা। address_component ফিল্ডে 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 অক্ষাংশ ও দ্রাঘিমাংশ থেকে প্রাপ্ত, এনকোড করা লোকেশন রেফারেন্স। যেসব জায়গায় রাস্তার ঠিকানা নেই (যেখানে বিল্ডিংয়ের নম্বর বা রাস্তার নাম নেই), সেখানে রাস্তার ঠিকানার পরিবর্তে Plus কোড ব্যবহার করা যেতে পারে। আরও তথ্যের জন্য https://plus.codes দেখুন।
postal_code দেশের মধ্যে ডাকযোগে চিঠি পাঠানোর জন্য ব্যবহৃত পিন কোড।
natural_feature একটি বিশিষ্ট প্রাকৃতিক বৈশিষ্ট্য।
airport একটি বিমানবন্দর।
park নাম উল্লেখ করা পার্ক।
point_of_interest উল্লেখযোগ্য স্থানের নাম। সাধারণত, এই "POI" হল বিশিষ্ট স্থানীয় এন্টিটি যা অন্য কোনও বিভাগে সহজে ফিট করে না, যেমন "এম্পায়ার স্টেট বিল্ডিং" বা "আইফেল টাওয়ার"।

ধরনের খালি তালিকা থেকে বোঝা যায় যে নির্দিষ্ট ঠিকানা কম্পোনেন্টের জন্য কোনও পরিচিত ধরন নেই (যেমন, ফ্রান্সে Lieu-dit)।

উপরে উল্লেখ করা ছাড়াও, ঠিকানার কম্পোনেন্টে নিচে তালিকাভুক্ত ধরন অন্তর্ভুক্ত থাকতে পারে।

ঠিকানার কম্পোনেন্টের ধরন বিবরণ
floor বিল্ডিংয়ের ঠিকানায় থাকা ফ্লোর।
establishment সাধারণত এমন একটি জায়গা যা এখনও বিভাগভুক্ত করা হয়নি।
landmark নেভিগেশনে সাহায্য করার জন্য রেফারেন্স হিসেবে ব্যবহার করা হয় এমন কাছাকাছি কোনও জায়গা।
point_of_interest উল্লেখযোগ্য স্থানের নাম।
parking পার্কিং লট বা পার্কিং স্ট্রাকচার।
post_box একটি নির্দিষ্ট পোস্টাল বক্স।
postal_town ভৌগোলিক এলাকার একটি গ্রুপিং, যেমন locality এবং sublocality, কিছু দেশে মেলিং অ্যাড্রেসের জন্য ব্যবহৃত হয়।
room বিল্ডিংয়ের ঠিকানায় থাকা রুম।
street_number রাস্তার সঠিক নম্বর।
bus_station, train_station এবং transit_station বাস, ট্রেন বা পাবলিক ট্রানজিট স্টপের লোকেশন।

ভিউপোর্ট বায়াসিং

জিওকোডিং অনুরোধে, আপনি জিওকোডিং পরিষেবাকে একটি নির্দিষ্ট ভিউপোর্টের (বাউন্ডিং বক্স হিসেবে প্রকাশ করা) মধ্যে ফলাফলকে অগ্রাধিকার দেওয়ার নির্দেশ দিতে পারেন। আপনি bounds প্যারামিটার সেট করে অনুরোধ URL-এর মধ্যে এটি করতে পারেন।

bounds প্যারামিটার এই বাউন্ডিং বক্সের দক্ষিণ-পশ্চিম ও উত্তর-পূর্ব কোণের অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক নির্ধারণ করে। স্থানাঙ্ক আলাদা করার জন্য পাইপ (|) অক্ষর ব্যবহার করা হয়।

যেমন, "ওয়াশিংটন" জিওকোড করলে সাধারণত মার্কিন যুক্তরাষ্ট্রের ওয়াশিংটন স্টেট দেখায়:

অনুরোধ:

https://maps.googleapis.com/maps/api/geocode/json?address=Washington&key=YOUR_API_KEY

উত্তর:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Washington",
               "short_name" : "WA",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Washington, USA",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 49.0024442,
                  "lng" : -116.91558
               },
               "southwest" : {
                  "lat" : 45.543541,
                  "lng" : -124.8489739
               }
            },
            "location" : {
               "lat" : 47.7510741,
               "lng" : -120.7401385
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 49.0024442,
                  "lng" : -116.91558
               },
               "southwest" : {
                  "lat" : 45.543541,
                  "lng" : -124.8489739
               }
            }
         },
         "place_id" : "ChIJ-bDD5__lhVQRuvNfbGh4QpQ",
         "types" : [ "administrative_area_level_1", "political" ]
      }
   ],
   "status" : "OK"
}

তবে, মার্কিন যুক্তরাষ্ট্রের উত্তর-পূর্ব অংশের চারপাশে একটি বাউন্ডিং বক্স সংজ্ঞায়িত করে একটি bounds আর্গুমেন্ট যোগ করার ফলে এই জিওকোড ওয়াশিংটন, ডি.সি. শহরটি ফেরত দেয়:

অনুরোধ:

https://maps.googleapis.com/maps/api/geocode/json?address=Washington&bounds=36.47,-84.72%7C43.39,-65.90&key=YOUR_API_KEY

উত্তর:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Washington",
               "short_name" : "Washington",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "District of Columbia",
               "short_name" : "District of Columbia",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "District of Columbia",
               "short_name" : "DC",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Washington, DC, USA",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 38.9958641,
                  "lng" : -76.90939299999999
               },
               "southwest" : {
                  "lat" : 38.7916449,
                  "lng" : -77.119759
               }
            },
            "location" : {
               "lat" : 38.9071923,
               "lng" : -77.03687069999999
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 38.9958641,
                  "lng" : -76.90939299999999
               },
               "southwest" : {
                  "lat" : 38.7916449,
                  "lng" : -77.119759
               }
            }
         },
         "place_id" : "ChIJW-T2Wt7Gt4kRKl2I1CJFUsI",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

অঞ্চল বায়াসিং

জিওকোডিং অনুরোধে, আপনি জিওকোডিং পরিষেবাকে region প্যারামিটার ব্যবহার করে নির্দিষ্ট অঞ্চলের জন্য পক্ষপাতদুষ্ট ফলাফল দেখানোর নির্দেশ দিতে পারেন। এই প্যারামিটারটি একটি ccTLD (দেশ ভিত্তিক কোড টপ-লেভেল ডোমেন) আর্গুমেন্ট নেয় যা অঞ্চল ভিত্তিক পক্ষপাতিত্ব নির্দিষ্ট করে। বেশিরভাগ ccTLD কোড ISO 3166-1 কোডের মতোই, তবে কিছু উল্লেখযোগ্য ব্যতিক্রম আছে। যেমন, যুক্তরাজ্যের ccTLD হল "uk" (.co.uk) এবং এর ISO 3166-1 কোড হল "gb" (টেকনিক্যালি "The United Kingdom of Great Britain and Northern Ireland" এন্টিটির জন্য)।

যেসব ডোমেনে Google Maps অ্যাপ্লিকেশন আনুষ্ঠানিকভাবে লঞ্চ করা হয়েছে, সেগুলির ক্ষেত্রে জিওকোডিং ফলাফল পক্ষপাতদুষ্ট হতে পারে। মনে রাখবেন যে বায়াসিং শুধুমাত্র নির্দিষ্ট ডোমেনের ফলাফলকে অগ্রাধিকার দেয়; এই ডোমেনের বাইরে আরও প্রাসঙ্গিক ফলাফল থাকলে, সেগুলি অন্তর্ভুক্ত করা হতে পারে।

যেমন, "Toledo"-র জন্য জিওকোড এই ফলাফল দেখায়, কারণ Geocoding API-এর ডিফল্ট ডোমেন মার্কিন যুক্তরাষ্ট্রে সেট করা আছে। অনুরোধ:

https://maps.googleapis.com/maps/api/geocode/json?address=Toledo&key=YOUR_API_KEY

উত্তর:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Toledo",
               "short_name" : "Toledo",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Lucas County",
               "short_name" : "Lucas County",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Ohio",
               "short_name" : "OH",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Toledo, OH, USA",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 41.732844,
                  "lng" : -83.454229
               },
               "southwest" : {
                  "lat" : 41.580266,
                  "lng" : -83.69423700000002
               }
            },
            "location" : {
               "lat" : 41.6639383,
               "lng" : -83.55521200000001
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 41.732844,
                  "lng" : -83.454229
               },
               "southwest" : {
                  "lat" : 41.580266,
                  "lng" : -83.69423700000002
               }
            }
         },
         "place_id" : "ChIJeU4e_C2HO4gRRcM6RZ_IPHw",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

region=es (স্পেন) সহ "টলেডো"-র জন্য জিওকোডিং অনুরোধ স্প্যানিশ শহরটি ফিরিয়ে দেবে।

অনুরোধ:

https://maps.googleapis.com/maps/api/geocode/json?address=Toledo&region=es&key=YOUR_API_KEY

উত্তর:

{
   "results" : [
      {
         "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" : "Castile-La Mancha",
               "short_name" : "CM",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Spain",
               "short_name" : "ES",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Toledo, Spain",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 39.88605099999999,
                  "lng" : -3.9192423
               },
               "southwest" : {
                  "lat" : 39.8383676,
                  "lng" : -4.0796176
               }
            },
            "location" : {
               "lat" : 39.8628316,
               "lng" : -4.027323099999999
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 39.88605099999999,
                  "lng" : -3.9192423
               },
               "southwest" : {
                  "lat" : 39.8383676,
                  "lng" : -4.0796176
               }
            }
         },
         "place_id" : "ChIJ8f21C60Lag0R_q11auhbf8Y",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

কম্পোনেন্ট ফিল্টার করা

Geocoding উত্তরে, Geocoding API নির্দিষ্ট এলাকায় সীমাবদ্ধ ঠিকানার ফলাফল দেখাতে পারে। আপনি components ফিল্টার ব্যবহার করে বিধিনিষেধ নির্দিষ্ট করতে পারবেন। একটি ফিল্টারে পাইপ (|) দ্বারা আলাদা করা component:value জোড়ার একটি তালিকা থাকে। ফিল্টার ভ্যালু অন্যান্য জিওকোডিং অনুরোধের মতো বানান সংশোধন এবং আংশিক মিলের একই পদ্ধতি সমর্থন করে। যদি জিওকোডার কোনও কম্পোনেন্ট ফিল্টারের জন্য আংশিক মিল খুঁজে পায়, তাহলে উত্তরে একটি partial_match ফিল্ড থাকবে।

যেসব components ফিল্টার করা যেতে পারে তার মধ্যে রয়েছে:

  • postal_code postal_code ও postal_code_prefix-এর সাথে মেলে।
  • country কোনও দেশের নাম বা দুই অক্ষরের ISO 3166-1 দেশের কোডের সাথে মেলে। API দেশ নির্ধারণের জন্য ISO স্ট্যান্ডার্ড অনুসরণ করে এবং দেশের সংশ্লিষ্ট ISO কোড ব্যবহার করার সময় ফিল্টারিং সবচেয়ে ভালো কাজ করে।

ফলাফল প্রভাবিত করতে নিম্নলিখিত components ব্যবহার করা হতে পারে, তবে তা এনফোর্স করা হবে না:

  • route কোনও রুটের বড় বা ছোট নামের সাথে মেলে।
  • locality, locality এবং sublocality ধরনের সাথে মিলে যায়।
  • administrative_area সবকটি administrative_area লেভেলের সাথে ম্যাচ করে।

কম্পোনেন্ট ফিল্টার করা সম্পর্কে নোট:

  • অনুরোধে এইসব কম্পোনেন্ট ফিল্টার রিপিট করবেন না, অন্যথায় API Invalid_request: country, postal_code, route রিটার্ন করবে
  • অনুরোধে বারবার কম্পোনেন্ট ফিল্টার থাকলে, API সেই ফিল্টারগুলিকে AND হিসেবে মূল্যায়ন করে, OR হিসেবে নয়।
  • ফলাফল Google Maps-এর সাথে সামঞ্জস্যপূর্ণ, যা মাঝে মাঝে অপ্রত্যাশিত ZERO_RESULTS উত্তর দেয়। জায়গা অটোমেটিক সম্পূর্ণ করার সুবিধা ব্যবহার করলে কিছু ক্ষেত্রে আরও ভালো ফলাফল পাওয়া যেতে পারে। আরও জানতে, এই প্রায়শই জিজ্ঞাসিত প্রশ্ন দেখুন।
  • প্রতিটি ঠিকানা কম্পোনেন্টের জন্য, হয় এটি address প্যারামিটারে অথবা components ফিল্টারে উল্লেখ করুন, তবে দুটিতেই নয়। দুটিতেই একই ভ্যালু উল্লেখ করলে ZERO_RESULTS হতে পারে।

components=country:GB সহ "High St, Hastings"-এর জন্য একটি জিওকোড, মার্কিন যুক্তরাষ্ট্রের হেস্টিংস-অন-হাডসনের পরিবর্তে ইংল্যান্ডের হেস্টিংসে ফলাফল দেখায়।

অনুরোধ:

https://maps.googleapis.com/maps/api/geocode/json?address=high+st+hasting&components=country:GB&key=YOUR_API_KEY

উত্তর:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "High Street",
               "short_name" : "High St",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Hastings",
               "short_name" : "Hastings",
               "types" : [ "postal_town" ]
            },
            {
               "long_name" : "East Sussex",
               "short_name" : "East Sussex",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "England",
               "short_name" : "England",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United Kingdom",
               "short_name" : "GB",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "TN34 3EY",
               "short_name" : "TN34 3EY",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "High St, Hastings TN34 3EY, UK",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 50.8601041,
                  "lng" : 0.5957329
               },
               "southwest" : {
                  "lat" : 50.8559061,
                  "lng" : 0.5906163
               }
            },
            "location" : {
               "lat" : 50.85830319999999,
               "lng" : 0.5924594
            },
            "location_type" : "GEOMETRIC_CENTER",
            "viewport" : {
               "northeast" : {
                  "lat" : 50.8601041,
                  "lng" : 0.5957329
               },
               "southwest" : {
                  "lat" : 50.8559061,
                  "lng" : 0.5906163
               }
            }
         },
         "partial_match" : true,
         "place_id" : "ChIJ-Ws929sa30cRKgsMNVkPyws",
         "types" : [ "route" ]
      }
   ],
   "status" : "OK"
}

components=country:ES-এর সাথে "Santa Cruz" এলাকার জন্য জিওকোড অনুরোধ স্পেনের ক্যানারি দ্বীপপুঞ্জের Santa Cruz de Tenerife-এর ফলাফল দেখায়।

অনুরোধ:

https://maps.googleapis.com/maps/api/geocode/json?components=locality:santa+cruz|country:ES&key=YOUR_API_KEY

উত্তর:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Santa Cruz de Tenerife",
               "short_name" : "Santa Cruz de Tenerife",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Santa Cruz de Tenerife",
               "short_name" : "TF",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Canary Islands",
               "short_name" : "CN",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Spain",
               "short_name" : "ES",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Santa Cruz de Tenerife, Spain",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 28.487616,
                  "lng" : -16.2356646
               },
               "southwest" : {
                  "lat" : 28.4280248,
                  "lng" : -16.3370045
               }
            },
            "location" : {
               "lat" : 28.4636296,
               "lng" : -16.2518467
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 28.487616,
                  "lng" : -16.2356646
               },
               "southwest" : {
                  "lat" : 28.4280248,
                  "lng" : -16.3370045
               }
            }
         },
         "place_id" : "ChIJcUElzOzMQQwRLuV30nMUEUM",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

কম্পোনেন্ট ফিল্টারিং শুধুমাত্র তখনই ZERO_RESULTS উত্তর দেয় যদি আপনি এমন ফিল্টার প্রদান করেন যা একে অপরকে বাদ দেয়।

অনুরোধ:

https://maps.googleapis.com/maps/api/geocode/json?components=administrative_area:TX|country:FR&key=YOUR_API_KEY

উত্তর:

{
   "results" : [],
   "status" : "ZERO_RESULTS"
}

আপনি components ফিল্টার ব্যবহার করে, ঠিকানা প্যারামিটার ছাড়াই সঠিক কোয়েরি করতে পারবেন। (সম্পূর্ণ ঠিকানা জিওকোড করার সময়, অনুরোধে বিল্ডিংয়ের নাম ও নম্বর থাকলে address প্যারামিটার প্রয়োজন হয়।)

অনুরোধ:

https://maps.googleapis.com/maps/api/geocode/json?components=route:Annankatu|administrative_area:Helsinki|country:Finland&key=YOUR_API_KEY

উত্তর:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Annankatu",
               "short_name" : "Annankatu",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Helsinki",
               "short_name" : "HKI",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Finland",
               "short_name" : "FI",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "00101",
               "short_name" : "00101",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "Annankatu, 00101 Helsinki, Finland",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 60.168997,
                  "lng" : 24.9433353
               },
               "southwest" : {
                  "lat" : 60.16226160000001,
                  "lng" : 24.9332897
               }
            },
            "location" : {
               "lat" : 60.1657808,
               "lng" : 24.938451
            },
            "location_type" : "GEOMETRIC_CENTER",
            "viewport" : {
               "northeast" : {
                  "lat" : 60.168997,
                  "lng" : 24.9433353
               },
               "southwest" : {
                  "lat" : 60.16226160000001,
                  "lng" : 24.9332897
               }
            }
         },
         "place_id" : "ChIJARW7C8sLkkYRgl4je4-RPUM",
         "types" : [ "route" ]
      }
   ],
   "status" : "OK"
}