Python Folium 期望位置值

问题描述 投票:0回答:1

我试图创建一个程序来跟踪 IP 地址并将其绘制在地图上,但出现错误: ValueError:位置需要两个(纬度、经度)值,但得到的是:[]。 我正在使用记事本创建文件并使用 cmd 来运行它。

import geocoder
import folium

ip = input('Enter IP to trace: ')
g = geocoder.ip(ip)
location = g.latlng


locationmap1 = folium.Map(location=location, zoom_start=12)

folium.CircleMarker(location=location, radius=50).add_to(locationmap1)
locationmap1.save('locationmap1.html')
locationmap1.show_in_browser()
python cmd folium
1个回答
0
投票

运行以下代码片段。您遇到的错误是因为当您在无效 IP 上运行

geocoder.id
时,g.latlng 返回一个空数组。我的建议是检查一旦
location
可用,通过检查它是否有效来确保它是有效的。

import geocoder
import folium

ip = "12.215.42.19"
g = geocoder.ip(ip)
location = g.latlng

print(location) // [32.7831, -96.8067]

locationmap1 = folium.Map(location=location, zoom_start=12)

folium.CircleMarker(location=location, radius=50).add_to(locationmap1)
© www.soinside.com 2019 - 2024. All rights reserved.