দীর্ঘ / দীর্ঘ স্থানাঙ্ক দেওয়া, আমরা কীভাবে শহর / দেশ সন্ধান করতে পারি?


141

উদাহরণস্বরূপ যদি আমাদের এই সমন্বয়গুলির সেট থাকে

"latitude": 48.858844300000001,
"longitude": 2.2943506,

কীভাবে আমরা শহর / দেশ সন্ধান করতে পারি?


2
আপনার সম্ভবত কোনও ধরণের একটি ডাটাবেস প্রয়োজন হবে। আমি নিজেই গুগল ম্যাপস এপিআইয়ের সাথে খেলতে চেষ্টা করব ... এটি দীর্ঘ / দীর্ঘ সমর্থন করে।
বেটগ্যামিট

উত্তর:


96

ফ্রি গুগল জিওকোডিং এপিটি এইচটিটিপি আরএসটি এপিআই এর মাধ্যমে এই পরিষেবা সরবরাহ করে। দ্রষ্টব্য, API হ'ল ব্যবহার এবং হার সীমিত তবে আপনি সীমাহীন অ্যাক্সেসের জন্য অর্থ দিতে পারেন।

আউটপুটটির উদাহরণ দেখতে এই লিঙ্কটি ব্যবহার করে দেখুন (এটি জসনে রয়েছে, এক্সএমএলে আউটপুটও পাওয়া যায়)

https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true


এটি গ্রহণ করার কারণে এটিই আমি শেষ করছি :) মাইকেল এর উত্তর অবশ্যই একটি দুর্দান্ত বিকল্প!

5
গুগলের বিপরীত জিওকোডিং কেবল গুগল ম্যাপের সাথে একত্রে অনুমোদিত। আপনি যদি এমন কোনও সমাধান চান যাতে এরকম কোনও বিধিনিষেধ নেই (যদিও এটি বাণিজ্যিক এবং কেবলমাত্র মার্কিন শহরগুলি রয়েছে), চেক আউট করুন: Askgeo.com
জেমস ডি

ম্যাপকোয়েস্ট এপিআই এখানে আরেকটি বিকল্প কারণ এটির কিছু ক্ষেত্রে কোনও রেট সীমা নেই এবং বিভিন্ন জিওকোডিংয়ের প্রয়োজনের জন্য খুব উচ্চ হারের সীমা রয়েছে।
টম

2
বিনামূল্যে বিতর্কযোগ্য, এটি নির্দিষ্ট সীমাবদ্ধতার অধীনেই বিনামূল্যে।
মধ্যে Petah

@ জেমসডি: এপিআই নীতিগুলি জানিয়েছে যে আপনি যদি কোনও মানচিত্রে ডেটা প্রদর্শন করেন তবে তা অবশ্যই একটি গুগল ম্যাপ হতে হবে তবে আপনাকে এটি কোনও মানচিত্রে (বা কিছুতেই) প্রদর্শন করতে হবে না।
ব্যবহারকারী 276648

173

অন্য বিকল্প:

  • শহরগুলির ডাটাবেসটি ডাউনলোডডাউনলোড থেকে ডাউনলোড করুন
  • প্রতিটি শহরকে একটি ল্যাট / দীর্ঘ হিসাবে যুক্ত করুন -> কোনও আর-গাছের মতো একটি স্থানিক সূচকে সিটি ম্যাপিং (কিছু ডিবিগুলির কার্যকারিতাও রয়েছে)
  • যে কোনও বিন্দুর নিকটতম শহরটি খুঁজতে নিকটতম-প্রতিবেশী অনুসন্ধান ব্যবহার করুন

সুবিধাদি:

  • কোনও বাহ্যিক সার্ভার উপলব্ধ হওয়ার জন্য নির্ভর করে না
  • খুব দ্রুত (সহজেই প্রতি সেকেন্ডে হাজার হাজার লুকআপ হয়)

অসুবিধা:

  • স্বয়ংক্রিয়ভাবে আপ টু ডেট নয়
  • নিকটতম শহর কয়েক ডজন মাইল দূরে যেখানে কেসটি আলাদা করতে চাইলে অতিরিক্ত কোডের প্রয়োজন হয়
  • মেরু এবং আন্তর্জাতিক তারিখের লাইনের কাছে অদ্ভুত ফলাফল দিতে পারে (যদিও সেই জায়গাগুলিতে কোনও শহর নেই are

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

1
এগুলির একটি বিশ্রাম এপিও রয়েছে
jeudyx

8
একটি উদাহরণ অমূল্য হত
হ্যাক-আর

জিওনামস একটি নিখরচায় ওয়েব পরিষেবাও দেয় যা কেবল দুর্দান্ত!
এমকন্ট

2020-এ, জিওএনস্ট্রেশন দেখতে অনেকটা নিষ্ক্রিয় মনে হচ্ছে, কেউ যদি জানেন যে এটি এমনকি বর্তমান কিনা? সমস্যাটি কোথাও নেই তারা সাইটে সর্বশেষ আপডেটের তারিখগুলি উল্লেখ করে।
joedotnot

45

তোমার দরকার geopy

pip install geopy

এবং তারপর:

from geopy.geocoders import Nominatim
geolocator = Nominatim()
location = geolocator.reverse("48.8588443, 2.2943506")

print(location.address)

আরও তথ্য পেতে:

print (location.raw)

{'place_id': '24066644', 'osm_id': '2387784956', 'lat': '41.442115', 'lon': '-8.2939909', 'boundingbox': ['41.442015', '41.442215', '-8.2940909', '-8.2938909'], 'address': {'country': 'Portugal', 'suburb': 'Oliveira do Castelo', 'house_number': '99', 'city_district': 'Oliveira do Castelo', 'country_code': 'pt', 'city': 'Oliveira, São Paio e São Sebastião', 'state': 'Norte', 'state_district': 'Ave', 'pedestrian': 'Rua Doutor Avelino Germano', 'postcode': '4800-443', 'county': 'Guimarães'}, 'osm_type': 'node', 'display_name': '99, Rua Doutor Avelino Germano, Oliveira do Castelo, Oliveira, São Paio e São Sebastião, Guimarães, Braga, Ave, Norte, 4800-443, Portugal', 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright'}

2
এটির কোনও সীমাবদ্ধতা আছে? এটি দ্রুততম পদ্ধতির বলে মনে হচ্ছে। @ মাইকেল এর পদ্ধতির উপর এটি ব্যবহার না করার কোনও কারণ থাকতে পারে?
স্যাটিস

1
ভাল এটির জন্য একটি বাহ্যিক পরিষেবা প্রয়োজন
ম্যাক্সব্যাকম্যান

এটি দুর্দান্ত পদ্ধতির, তবে আমার কেবল কাউন্টি দরকার, তাই আমার ঠিকানাটি পরিমার্জন করা দরকার। আমার ইচ্ছা যদি এমন কোনও উপায় থাকে যা কাউন্টিকে ফিরিয়ে দেয়।
ফাতেমেহ আসগারিনেজাদ

22

একটি ওপেন সোর্সের বিকল্প হ'ল ওপেন স্ট্রিট ম্যাপ থেকে নামিনটিম। আপনাকে যা করতে হবে তা হ'ল একটি ইউআরএল ভেরিয়েবল সেট করে এবং এটি সেই অবস্থানের শহর / দেশ ফিরিয়ে দেয়। অফিসিয়াল ডকুমেন্টেশনের জন্য দয়া করে নীচের লিঙ্কটি চেক করুন: নমিনিটিম


3
নোট করুন যে নামিনিটিম ব্যবহারের নীতি ক্রিয়াকলাপগুলি ososffationation.org/polferences/nominatim প্রতি সেকেন্ডে সর্বাধিক একটি অনুরোধের হার বলে তাই অ্যাড-হক অনুসন্ধানের জন্য সত্যই উপযুক্ত।
ম্যাথু ওয়াইজ

22

আমি অনুরূপ কার্যকারিতা সন্ধান করছিলাম এবং আমি পূর্ববর্তী উত্তরে " http://download.geonasure/export/dump/ " ডেটা ভাগ করা দেখেছি (ভাগ করার জন্য আপনাকে ধন্যবাদ, এটি একটি দুর্দান্ত উত্স), এবং একটি পরিষেবা ভিত্তিক বাস্তবায়ন করেছি শহরে 1000.txt ডেটাতে।

আপনি এটি চলমান দেখতে পারেন http://scatter-otl.rhcloud.com/location?lat=36&long=-78.9 (ভাঙা লিঙ্ক) কেবলমাত্র আপনার অবস্থানের জন্য অক্ষাংশ এবং দ্রাঘিমাংশ পরিবর্তন করুন।

এটি ওপেনশিফ্টে (রেডহ্যাট প্ল্যাটফর্ম) স্থাপন করা হয়েছে। দীর্ঘ নিষ্ক্রিয় সময়ের পরে প্রথম কলটি কিছুটা সময় নিতে পারে তবে সাধারণত সম্পাদন সন্তোষজনক। আপনার পছন্দ মতো এই পরিষেবাটি নির্দ্বিধায় ব্যবহার করুন ...

এছাড়াও, আপনি https://github.com/turgos/Location এ প্রকল্পের উত্সটি খুঁজে পেতে পারেন ।


এটি সঠিকভাবে কাজ করে না। যদি এটি শহরটি না পায় তবে এটি নিকটতম পরিচিত শহরটির সন্ধান করে। এখানে একটি উদাহরণ রয়েছে: splitter-otl.rhcloud.com/… এটি "সেন্ট জন" এর পরিবর্তে " বাসেস্টেরে " বলেছে ...
স্মার্টমাউস

1
এটাই সঠিক. অ্যালগরিদম ডেটাসেটে উপলব্ধ নিকটতম শহরটি অনুসন্ধান করে। উপরোক্ত মোতায়েন করা সার্ভারের জন্য, আমি "शहरগুলি 1000.txt" ব্যবহার করেছি। এটিতে কেবল প্রধান শহরগুলি রয়েছে। সোর্স কোড github.com/turgos/Locationউপলব্ধ । আপনি " download.geonmitted/ export/dump" থেকে আরও বিশদ ডেটা দিয়ে নিজের শুরু করতে পারেন . ।
টার্গোস

দেখে মনে হচ্ছে শহরগুলি 1000.txt হল আরও বিশদ ডেটা উপলব্ধ। আমি কি সঠিক?
স্মার্টমাউস

8

আমি ব্যবহার করেছি Geocoder , একটি ভাল পাইথন গ্রন্থাগার যে Google, Geonames এবং OpenStreetMaps সহ সমর্থন একাধিক প্রদানকারীরা, মাত্র কয়েক উল্লেখ । আমি জিওপি লাইব্রেরিটি ব্যবহার করার চেষ্টা করেছি এবং এটি প্রায়শই টাইমআউট করে। জিওনামের জন্য আপনার নিজস্ব কোড বিকাশ করা আপনার সময়ের সেরা ব্যবহার নয় এবং আপনি অস্থির কোড পেয়ে শেষ করতে পারেন। জিওকডারটি আমার অভিজ্ঞতায় ব্যবহার করা খুব সহজ, এবং যথেষ্ট পরিমাণে ডকুমেন্টেশন রয়েছে । অক্ষাংশ এবং দ্রাঘিমাংশ অনুসারে শহর দেখার জন্য বা শহরের নাম অনুসারে অক্ষাংশ / দ্রাঘিমাংশ সন্ধান করার জন্য নীচে কয়েকটি নমুনা কোড দেওয়া আছে।

import geocoder

g = geocoder.osm([53.5343609, -113.5065084], method='reverse')
print g.json['city'] # Prints Edmonton

g = geocoder.osm('Edmonton, Canada')
print g.json['lat'], g.json['lng'] # Prints 53.5343609, -113.5065084

এটি ভাগ করে নেওয়ার জন্য ধন্যবাদ তবে এটি সমস্ত স্থানাঙ্কের জন্য কাজ করে না। স্থানাঙ্কগুলির সংখ্যা কী নির্দিষ্ট আকারের হওয়া দরকার?
ফাতেমেহ আসগারিনেজাদ

1
আমি বিশ্বাস করি যে আমি দ্রাঘিমাংশ এবং অক্ষাংশকে সঠিকভাবে বেছে নিয়েছি। আমার হাজার হাজার স্থানাঙ্ক রয়েছে যা থেকে এলোমেলো স্থানাঙ্কটি কার্যকর হয়নি। এখন ঠিক আছে। আমি অন্য পদ্ধতির ব্যবহার। আপনার প্রতিক্রিয়ার জন্য ধন্যবাদ.
ফাতেমেহ আসগারিনেজাদ

1
স্বাগত. আপনার জন্য কোন পদ্ধতির কাজ জানতে আগ্রহী? যদি এর থেকে ভাল geocoderহয় তবে আমি নিজেও চেষ্টা করে দেখতে চাই!
হামমান স্যামুয়েল

1
আমি এটি ব্যবহার করেছি: geopy.geocoders থেকে Nominatim geolocator = Nominatim () location = geolocator.reverse ("41.4721, -72.6311") মুদ্রণ (অবস্থান.এড্রেস) আমদানি করে এটি পুরো ঠিকানা দেয় এবং তারপরে আমি এটি থেকে কাউন্টি ফিল্টার করি।
ফাতেমেহ আসগারিনেজাদ

1
ধন্যবাদ, আমি একটি বড় ডেটাসেটের সাথে কাজ করেছি এবং 2017 সালে, জিওপি ব্যবহার করে আমাকে অনেক টাইমআউট পেয়েছে। সম্ভবত 3 বছর পরে তারা তাদের বিধিনিষেধ শিথিল করেছে, তাই এটি জেনে রাখা দুর্দান্ত!
হামান স্যামুয়েল

5

জাভাস্ক্রিপ্টে এটি কীভাবে করা যায় তার একটি কোড উদাহরণ খোঁজার চেষ্টা করে আমি প্রায় 30 মিনিট ব্যয় করেছি। আপনার পোস্ট করা প্রশ্নের একটি দ্রুত পরিষ্কার উত্তর আমি খুঁজে পাইনি। তাই ... আমি আমার নিজের তৈরি করেছি। আশা করি লোকেরা এপিআইতে খোঁড়াখুঁড়ি না করে বা কোডের দিকে তাকানো ছাড়াই এটি ব্যবহার করতে পারে তাদের কীভাবে পড়তে হবে তার কোনও ধারণা নেই। হ্যা যদি আর কিছু না হয় আমি নিজের পোস্টের জন্য এই পোস্টটি উল্লেখ করতে পারি না .. চমৎকার প্রশ্ন এবং আলোচনার ফোরামের জন্য ধন্যবাদ!

এটি গুগল এপিআই ব্যবহার করছে।

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=<YOURGOOGLEKEY>&sensor=false&v=3&libraries=geometry"></script>

//CHECK IF BROWSER HAS HTML5 GEO LOCATION
if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(function (position) {

        //GET USER CURRENT LOCATION
        var locCurrent = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);

        //CHECK IF THE USERS GEOLOCATION IS IN AUSTRALIA
        var geocoder = new google.maps.Geocoder();
            geocoder.geocode({ 'latLng': locCurrent }, function (results, status) {
                var locItemCount = results.length;
                var locCountryNameCount = locItemCount - 1;
                var locCountryName = results[locCountryNameCount].formatted_address;

                if (locCountryName == "Australia") {
                    //SET COOKIE FOR GIVING
                    jQuery.cookie('locCountry', locCountryName, { expires: 30, path: '/' }); 
                }
        });
    }
}

5

আমি জানি এই প্রশ্নটি আসলেই পুরানো, তবে আমি একই ইস্যুতে কাজ করছি এবং আমি একটি অত্যন্ত দক্ষ এবং সুবিধাজনক প্যাকেজ পেয়েছি reverse_geocoder, এটি অজয় ​​থাম্পি নির্মিত। কোডটি এখানে উপলব্ধ । এটি কেডি গাছগুলির সমান্তরাল বাস্তবায়নের উপর ভিত্তি করে যা প্রচুর পরিমাণে পয়েন্টের জন্য অত্যন্ত কার্যকর (এটি আমার 100,000 পয়েন্ট পেতে কয়েক সেকেন্ড সময় নেয়)।

এটি ইতিমধ্যে @ টার্গোস দ্বারা হাইলাইট করা এই ডাটাবেসের উপর ভিত্তি করে ।

যদি আপনার কাজটি স্থানাঙ্কের তালিকার দেশ এবং শহরটি দ্রুত খুঁজে পাওয়া যায় তবে এটি দুর্দান্ত সরঞ্জাম।


3

এটি আসলে আপনার কী প্রযুক্তির সীমাবদ্ধতা রয়েছে তার উপর নির্ভর করে।

একটি উপায় হ'ল আপনার আগ্রহী দেশ এবং শহরগুলির বাহ্যরেখা সহ একটি স্থানিক ডাটাবেস। আউটলাইন দ্বারা আমি বোঝাতে চাইছি যে দেশ এবং শহরগুলি স্থানিক ধরণের বহুভুজ হিসাবে সঞ্চয় store আপনার স্থানাঙ্কের সেটটি স্থানিক টাইপ পয়েন্টে রূপান্তর করতে পারে এবং পয়েন্টটি অবস্থিত দেশ / শহরের নাম পেতে বহুভুজগুলির বিরুদ্ধে অনুসন্ধান করা যেতে পারে।

এখানে কিছু ডাটাবেস রয়েছে যা স্থানিক প্রকারকে সমর্থন করে: এসকিউএল সার্ভার ২০০৮ , মাইএসকিউএল , পোস্টজিআইএস - পোস্টগ্রিজ এসকিউএল এবং ওরাকেলের একটি এক্সটেনশন ।

আপনি যদি এর জন্য আপনার নিজস্ব ডেটাবেস থাকার পরিবর্তে কোনও পরিষেবা ব্যবহার করতে চান তবে আপনি ইয়াহুর জিওপ্ল্যানেট ব্যবহার করতে পারেন । পরিষেবা পদ্ধতির জন্য আপনি এই উত্তরটি gis.stackexchange.com এ যাচাই করতে চাইতে পারেন , যা আপনার সমস্যা সমাধানের জন্য পরিষেবার প্রাপ্যতা জুড়ে।


1

আপনি গুগল জিওকোডিং এপিআই ব্যবহার করতে পারেন

বেলো পিএইচপি ফাংশন যা অ্যাড্রেস, শহর, রাজ্য এবং দেশকে ফিরিয়ে দেয়

public function get_location($latitude='', $longitude='')
{
    $geolocation = $latitude.','.$longitude;
    $request = 'http://maps.googleapis.com/maps/api/geocode/json?latlng='.$geolocation.'&sensor=false'; 
    $file_contents = file_get_contents($request);
    $json_decode = json_decode($file_contents);
    if(isset($json_decode->results[0])) {
        $response = array();
        foreach($json_decode->results[0]->address_components as $addressComponet) {
            if(in_array('political', $addressComponet->types)) {
                    $response[] = $addressComponet->long_name; 
            }
        }

        if(isset($response[0])){ $first  =  $response[0];  } else { $first  = 'null'; }
        if(isset($response[1])){ $second =  $response[1];  } else { $second = 'null'; } 
        if(isset($response[2])){ $third  =  $response[2];  } else { $third  = 'null'; }
        if(isset($response[3])){ $fourth =  $response[3];  } else { $fourth = 'null'; }
        if(isset($response[4])){ $fifth  =  $response[4];  } else { $fifth  = 'null'; }


        $loc['address']=''; $loc['city']=''; $loc['state']=''; $loc['country']='';
        if( $first != 'null' && $second != 'null' && $third != 'null' && $fourth != 'null' && $fifth != 'null' ) {
            $loc['address'] = $first;
            $loc['city'] = $second;
            $loc['state'] = $fourth;
            $loc['country'] = $fifth;
        }
        else if ( $first != 'null' && $second != 'null' && $third != 'null' && $fourth != 'null' && $fifth == 'null'  ) {
            $loc['address'] = $first;
            $loc['city'] = $second;
            $loc['state'] = $third;
            $loc['country'] = $fourth;
        }
        else if ( $first != 'null' && $second != 'null' && $third != 'null' && $fourth == 'null' && $fifth == 'null' ) {
            $loc['city'] = $first;
            $loc['state'] = $second;
            $loc['country'] = $third;
        }
        else if ( $first != 'null' && $second != 'null' && $third == 'null' && $fourth == 'null' && $fifth == 'null'  ) {
            $loc['state'] = $first;
            $loc['country'] = $second;
        }
        else if ( $first != 'null' && $second == 'null' && $third == 'null' && $fourth == 'null' && $fifth == 'null'  ) {
            $loc['country'] = $first;
        }
      }
      return $loc;
}

আমি যদি কেবল প্রশাসনিক_আরআ_লেভেল_ 3 বা লোকেশন চাই (যদি প্রশাসনিক_আআআআআআআআ। পিএইচপি তে নতুন ..
আগস্ট

1

Loc2country একটি গোলাং ভিত্তিক সরঞ্জাম যা প্রদত্ত অবস্থানের স্থানাঙ্কের জন্য (ল্যাট / লম্বা) আইএসও আলফা -3 দেশ কোড দেয়। এটি মাইক্রোসেকেন্ডে প্রতিক্রিয়া জানায়। এটি দেশের মানচিত্রে একটি জিওহ্যাশ ব্যবহার করে।

জিওহ্যাশ ডেটা জিওরপ্টর ব্যবহার করে তৈরি করা হয়

আমরা এই সরঞ্জামটির জন্য 6 স্তরের জিওহ্যাশ ব্যবহার করি, অর্থাৎ, 1.2km x 600m আকারের বাক্স।


1

গ্রন্থাগারের পরিমাণ হ্রাস করুন।

তাদের ওয়েবসাইটে এপিআই ব্যবহার করার জন্য একটি কী পান এবং কেবল একটি http অনুরোধে ফলাফল পান:

curl -i -H "কী: YOUR_KEY" -X https://api.latlong.dev/lookup?lat=38.7447913&long=-9.1625173


0

নীচের উত্তর চেক করুন। এটা আমার জন্য কাজ করে

if(navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(function(position){

        initialize(position.coords.latitude,position.coords.longitude);
    }); 
}

function initialize(lat,lng) {
    //directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);
    //directionsService = new google.maps.DirectionsService();
    var latlng = new google.maps.LatLng(lat, lng);

    //alert(latlng);
    getLocation(latlng);
}

function getLocation(latlng){

    var geocoder = new google.maps.Geocoder();
    geocoder.geocode({'latLng': latlng}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                if (results[0]) {
                    var loc = getCountry(results);
                    alert("location is::"+loc);
                }
            }
        });

}

function getCountry(results)
{
    for (var i = 0; i < results[0].address_components.length; i++)
    {
        var shortname = results[0].address_components[i].short_name;
        var longname = results[0].address_components[i].long_name;
        var type = results[0].address_components[i].types;
        if (type.indexOf("country") != -1)
        {
            if (!isNullOrWhitespace(shortname))
            {
                return shortname;
            }
            else
            {
                return longname;
            }
        }
    }

}

function isNullOrWhitespace(text) {
    if (text == null) {
        return true;
    }
    return text.replace(/\s/gi, '').length < 1;
}

0

আপনি যদি গুগলের স্থানগুলি এপিআই ব্যবহার করে থাকেন তবে জাভাস্ক্রিপ্ট ব্যবহার করে আপনি জায়গা প্লেট থেকে এইভাবে দেশ এবং শহর পেতে পারেন:

function getCityAndCountry(location) {
  var components = {};
  for(var i = 0; i < location.address_components.length; i++) {
    components[location.address_components[i].types[0]] = location.address_components[i].long_name;
  }

  if(!components['country']) {
    console.warn('Couldn\'t extract country');
    return false;
  }

  if(components['locality']) {
    return [components['locality'], components['country']];
  } else if(components['administrative_area_level_1']) {
    return [components['administrative_area_level_1'], components['country']];
  } else {
    console.warn('Couldn\'t extract city');
    return false;
  }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.