提问人:Nana Kwame Dickson 提问时间:9/12/2021 更新时间:10/17/2023 访问量:3042
如何使用 python 和地理编码器正确找到手机的位置?
How do I find correctly the location of my phone using python and geocoder?
问:
我编写了一个 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")
答:
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
评论