如何使用 python 和地理编码器正确找到手机的位置?

How do I find correctly the location of my phone using python and geocoder?

提问人:Nana Kwame Dickson 提问时间:9/12/2021 更新时间:10/17/2023 访问量:3042

问:

我编写了一个 python 程序,能够检测我的国家和我使用的网络类型,但是,经度和纬度显示相同,无论我何时更改电话号码,它甚至不在我的国家。

这是我的代码。

import phonenumbers
import folium
from target import number
from phonenumbers import geocoder
key = '8d1df9276d2445c5a93c8b12ce962b1e'


theNumber = phonenumbers.parse(number)

yourLocation = geocoder.description_for_number(theNumber, "en")

print(yourLocation)


#Other details

from phonenumbers import carrier
service_provider = phonenumbers.parse(number)
print(carrier.name_for_number(service_provider, "en"))

from opencage.geocoder import OpenCageGeocode
geocoder = OpenCageGeocode(key)
query =str(yourLocation)
results = geocoder.geocode(query)
#print(results)

lat = results[0]['geometry']['lat']

long = results[0]['geometry']['lat']

print(lat, long)


myMap = folium.Map(location =[lat, long], zoom_start_= 9)

folium.Marker([lat , long], popup=  yourLocation).add_to(myMap)


#html save
myMap.save("myLoc.html")
python html 地理位置 位置 ip-geolocation

评论


答:

0赞 RJ Adriaansen 9/12/2021 #1

这是一个错别字问题。这将解决它:

long = results[0]['geometry']['lng']

您还需要更改为 .zoom_start_zoom_start

评论

0赞 Nana Kwame Dickson 9/15/2021
我已经尝试过这个,效果很好,因为位置标记现在在我的国家,但不准确。它离我的地区有几英里远。
1赞 RJ Adriaansen 9/15/2021
我的猜测是位置标记是根据可用坐标正确放置的,但提供的坐标是不具体的。phonenumbers
0赞 Dev 8/11/2022
是的,你是对的@RJAdriaansen