Hướng dẫn how do i get the current location in python? - làm cách nào để có được vị trí hiện tại trong python?

FreeGoIP.NET và các điểm cuối API.ipstack.com dường như sử dụng vị trí của Nhà cung cấp dịch vụ Internet (ISP), không phải là vị trí của thiết bị của tôi. Tôi đã thử Curl http://api.ipstack.com/check?access_key=your_key, và những gì tôi nhận được là

{"ip":"106.51.151.31","type":"ipv4","continent_code":"AS","continent_name":"Asia","country_code":"IN","country_name":"India","region_code":"KA","region_name":"Karnataka","city":"Bengaluru","zip":"560008","latitude":12.9833,"longitude":77.5833,"location":{"geoname_id":1277333,"capital":"New Delhi","languages":[{"code":"hi","name":"Hindi","native":"\u0939\u093f\u0928\u094d\u0926\u0940"},{"code":"en","name":"English","native":"English"}],"country_flag":"http:\/\/assets.ipstack.com\/flags\/in.svg","country_flag_emoji":"\ud83c\uddee\ud83c\uddf3","country_flag_emoji_unicode":"U+1F1EE U+1F1F3","calling_code":"91","is_eu":false}}

Kiểm tra vị trí LAT, dài trên Google Maps cho biết đây là vị trí của nhà cung cấp dịch vụ, không phải vị trí của máy chủ/thiết bị.

Giải pháp này vẫn có thể sử dụng được, nhưng có lẽ chỉ có độ chi tiết của một thành phố hoặc quốc gia, dựa trên cách ISP tổ chức và định vị các cổng của nó.

Cải thiện bài viết

Lưu bài viết

Trong bài viết này, chúng tôi sẽ thảo luận về cách định vị địa lý khi bạn nhập bất kỳ tên vị trí nào và nó cung cấp tất cả các thông tin hữu ích như mã bưu chính, thành phố, tiểu bang, quốc gia, v.v. với các vĩ độ và kinh độ (tọa độ cụ thể) và phó -versa trong đó chúng tôi cung cấp các tọa độ để có được tên vị trí.

Điều này có thể được thực hiện bằng cách sử dụng thư viện địa lý trong Python. Thư viện này được tích hợp vào Python và do đó cần phải được cài đặt một cách rõ ràng.

Cài đặt

Trong thiết bị đầu cuối của bạn, chỉ cần chạy lệnh đã cho:

PIP Cài đặt Geopy

Phương pháp 1: Nhận tọa độ từ tên vị trí

Với vị trí được cung cấp, có thể sử dụng địa chất để trích xuất tọa độ có nghĩa là vĩ độ và kinh độ của nó. Do đó, nó có thể được sử dụng để thể hiện vị trí theo tọa độ.

Cách tiếp cận

  • Nhập mô -đun
  • Gọi công cụ nominatim
  • Vượt qua vĩ độ và kinh độ để đảo ngược ()user_agent you can give any name as it considers it to be the name of the app to which it is providing its services.
  • In tên vị trí geocode() function accepts the location name and returns a geodataframe that has all the details and since it’s a dataframe we can get the address, latitude and longitude by simply calling it with the given syntax

Syntax:

variablename.address 

variablename.latitude 

variablename.longitude.

Example:

Python3

from geopy.geocoders import Nominatim

loc = Nominatim(user_agent="GetLoc"from0

from1= from3from4from0

from6from7

from6from9geopy.geocoders 0geopy.geocoders 1geopy.geocoders 2from0

from6from9geopy.geocoders 6geopy.geocoders 7

Output:

Phương pháp 2: Lấy tên vị trí từ vĩ độ và kinh độ

Trong phương pháp này, tất cả mọi thứ đều giống như ở trên, sự khác biệt duy nhất là thay vì sử dụng hàm mã địa lý mà chúng ta sẽ sử dụng phương thức đảo ngược () chấp nhận tọa độ (vĩ độ và kinh độ) làm đối số, phương thức này đưa ra địa chỉ saucung cấp nó với các tọa độ.reverse() method which accepts the coordinates (latitude and longitude) as the argument, this method gives the address after providing it with the coordinates.

Syntax:

reverse(latitude,longitude)

Cách tiếp cận

  • Nhập mô -đun
  • Gọi công cụ nominatim
  • Vượt qua vĩ độ và kinh độ để đảo ngược ()
  • In tên vị trí

Example:

Python3

from geopy.geocoders import Nominatim

import2= Nominatim(user_agent="GetLoc"____10

import8= Nominatim0Nominatim1from0

from6Nominatim4

Output:

Hướng dẫn how do i get the current location in python? - làm cách nào để có được vị trí hiện tại trong python?