জিওকোডিং অনুরোধ এবং প্রতিক্রিয়া

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

অনুরোধ

একটি জিওকোডিং API অনুরোধ নিম্নলিখিত ফর্মটি গ্রহণ করে:

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

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

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

HTTPS প্রয়োজন।

কিছু প্যারামিটার প্রয়োজন, আবার কিছু ঐচ্ছিক। URL-এর ক্ষেত্রে যেমন স্ট্যান্ডার্ড, প্যারামিটারগুলি অ্যাম্পারস্যান্ড ( & ) অক্ষর ব্যবহার করে পৃথক করা হয়।

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

জিওকোডিং (অক্ষাংশ/দ্রাঘিমাংশ অনুসন্ধান) পরামিতি

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

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

    • address — আপনি যে রাস্তার ঠিকানা বা প্লাস কোডটি জিওকোড করতে চান। সংশ্লিষ্ট দেশের জাতীয় ডাক পরিষেবা দ্বারা ব্যবহৃত ফর্ম্যাট অনুসারে ঠিকানাগুলি নির্দিষ্ট করুন। ব্যবসার নাম এবং ইউনিট, স্যুট বা মেঝে নম্বরের মতো অতিরিক্ত ঠিকানা উপাদানগুলি এড়ানো উচিত। রাস্তার ঠিকানা উপাদানগুলিকে স্পেস দিয়ে সীমাবদ্ধ করা উচিত (এখানে url-এস্কেপ করা হিসাবে দেখানো হয়েছে %20 ):
      address=24%20Sussex%20Drive%20Ottawa%20ON
      এখানে দেখানো প্লাস কোডগুলি ফর্ম্যাট করুন (প্লাস চিহ্নগুলি url-এস্কেপ করা হয়েছে %2B এ এবং স্পেসগুলি url-এস্কেপ করা হয়েছে %20 ):
      • গ্লোবাল কোড হল একটি 4 অক্ষরের এরিয়া কোড এবং 6 অক্ষর বা তার বেশি লম্বা স্থানীয় কোড (849VCWC8+R9 হল 849VCWC8%2BR9 )।
      • যৌগিক কোড হল ৬ অক্ষর বা তার বেশি লম্বা স্থানীয় কোড যার একটি স্পষ্ট অবস্থান রয়েছে (CWC8+R9 মাউন্টেন ভিউ, CA, USA হল CWC8%2BR9%20Mountain%20View%20CA%20USA )।
    • components — একটি কম্পোনেন্ট ফিল্টার যার উপাদানগুলি একটি পাইপ ( | ) দ্বারা পৃথক করা হয়। যদি একটি address প্রদান করা হয়, তাহলে কম্পোনেন্ট ফিল্টারটি একটি ঐচ্ছিক প্যারামিটার হিসেবেও গৃহীত হয়। কম্পোনেন্ট ফিল্টারের প্রতিটি উপাদান একটি component:value জোড়া নিয়ে গঠিত এবং জিওকোডার থেকে ফলাফল সম্পূর্ণরূপে সীমাবদ্ধ করে। কম্পোনেন্ট ফিল্টারিং সম্পর্কে আরও তথ্য নীচে দেখুন।

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

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

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

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

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

এই উদাহরণে, জিওকোডিং API "1600 অ্যাম্ফিথিয়েটার পার্কওয়ে, মাউন্টেন ভিউ, ক্যালিফোর্নিয়া" ঠিকানায় একটি প্রশ্নের জন্য একটি 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" অ্যারেতে শুধুমাত্র একটি এন্ট্রি ফেরত পাঠানো হয়, যদিও ঠিকানা অনুসন্ধানগুলি অস্পষ্ট হলে জিওকোডার বেশ কয়েকটি ফলাফল ফেরত দিতে পারে।

এক্সএমএল

<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> উপাদান, প্রতিটিতে জিওকোডেড ঠিকানা তথ্য এবং জ্যামিতি তথ্যের একটি একক সেট থাকে।

XML রেসপন্স JSON রেসপন্সের তুলনায় অনেক লম্বা। সেই কারণে, আমরা সুপারিশ করছি যে আপনি পছন্দের আউটপুট ফ্ল্যাগ হিসেবে json ব্যবহার করুন, যদি না আপনার পরিষেবার জন্য কোনও কারণে xml প্রয়োজন হয়। অতিরিক্তভাবে, 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 কীটি অনুপস্থিত অথবা অবৈধ।
    • আপনার অ্যাকাউন্টে বিলিং সক্ষম করা হয়নি।
    • স্ব-আরোপিত ব্যবহারের সীমা অতিক্রম করা হয়েছে।
    • প্রদত্ত অর্থপ্রদানের পদ্ধতিটি আর বৈধ নয় (উদাহরণস্বরূপ, একটি ক্রেডিট কার্ডের মেয়াদ শেষ হয়ে গেছে)।

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

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

ত্রুটি বার্তা

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

ফলাফল

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

একটি সাধারণ ফলাফলে নিম্নলিখিত ক্ষেত্রগুলি থাকে:

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

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

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

    ফরম্যাটেড ঠিকানাটি প্রোগ্রাম্যাটিকভাবে পার্স করবেন না। এর পরিবর্তে আপনার পৃথক ঠিকানা উপাদানগুলি ব্যবহার করা উচিত, যা API প্রতিক্রিয়াতে ফরম্যাটেড ঠিকানা ক্ষেত্র ছাড়াও অন্তর্ভুক্ত থাকে।

  • address_components[] হল একটি অ্যারে যাতে এই ঠিকানার জন্য প্রযোজ্য পৃথক উপাদান রয়েছে।

    প্রতিটি ঠিকানা উপাদানে সাধারণত নিম্নলিখিত ক্ষেত্রগুলি থাকে:

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

    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 ( ওপেন লোকেশন কোড এবং প্লাস কোড দেখুন) হল একটি এনকোডেড লোকেশন রেফারেন্স, যা অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক থেকে প্রাপ্ত, যা একটি ক্ষেত্রফলকে প্রতিনিধিত্ব করে: ১/৮০০০তম ডিগ্রি বাই ১/৮০০০তম ডিগ্রি (নিরক্ষরেখায় প্রায় ১৪ মি x ১৪ মি) বা তার চেয়ে ছোট। প্লাস কোডগুলি রাস্তার ঠিকানার পরিবর্তে ব্যবহার করা যেতে পারে যেখানে ঠিকানা বিদ্যমান নেই (যেখানে ভবনগুলি নম্বরযুক্ত নয় বা রাস্তার নামকরণ করা হয়নি)। API সর্বদা প্লাস কোড ফেরত দেয় না।

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

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

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

  • 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 অক্ষাংশ এবং দ্রাঘিমাংশ থেকে প্রাপ্ত একটি এনকোডেড অবস্থানের রেফারেন্স। প্লাস কোডগুলি এমন জায়গাগুলিতে রাস্তার ঠিকানাগুলির পরিবর্তে ব্যবহার করা যেতে পারে যেখানে সেগুলি বিদ্যমান নেই (যেখানে ভবনগুলি নম্বরযুক্ত নয় বা রাস্তার নামকরণ করা হয়নি)। বিস্তারিত জানার জন্য 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" (প্রযুক্তিগতভাবে "গ্রেট ব্রিটেন এবং উত্তর আয়ারল্যান্ডের যুক্তরাজ্য" এর সত্তার জন্য)।

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

উদাহরণস্বরূপ, "টলেডো" এর জন্য একটি জিওকোড এই ফলাফলটি প্রদান করে, কারণ জিওকোডিং 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"
}

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

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

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

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

ফলাফল প্রভাবিত করার জন্য নিম্নলিখিত components ব্যবহার করা যেতে পারে, কিন্তু প্রয়োগ করা হবে না:

  • route একটি রুটের দীর্ঘ বা সংক্ষিপ্ত নামের সাথে মিলে যায়।
  • locality এবং sublocality ধরণের সাথে locality মিল।
  • administrative_area সকল administrative_area স্তরের সাথে মিলে যায়।

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

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

"High St, Hastings" এর জন্য একটি জিওকোড যেখানে components=country:GB আছে, সেখানে Hastings-On-Hudson, USA-এর পরিবর্তে Hastings, England-এ ফলাফল প্রদান করা হয়।

অনুরোধ:

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 রয়েছে, স্পেনের ক্যানারি দ্বীপপুঞ্জের সান্তা ক্রুজ ডি টেনেরিফকে ফেরত পাঠায়।

অনুরোধ:

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