2017-10-07 33 views
1

我已经在python中编写了一些代码来创建一个带有所有城市上的标记的web地图。我尝试了其他纬度和经度值的相同代码,它为那些值和小号没有工作。 lat & lon值在文本文件中。我已经下载了所有经纬度为& lon的城市的csv文件,并尝试运行此文件的代码,但未使用此文件。任何想法?代码在下面发布。代码正常工作,但没有错误,但地图不显示在浏览器上。关于使用Folium的Web地图

import folium 
import pandas 
import json 
df=pandas.read_csv("simplemaps-worldcities-basic.csv") 
df1=df.to_csv("new_col1.txt", index=False,columns=["lat","lng"]) 
lat1=list(df["lat"]) 
lon1=list(df["lng"]) 
pro=list(df["province"]) 
map=folium.Map(location=[30.98,5.34],zoom_start=7,tiles="Mapbox Bright") 
fgv=folium.FeatureGroup(name="locations") 
fgp=folium.FeatureGroup(name="population") 
fgp.add_child(folium.GeoJson(data=open('world.json', 'r', encoding='utf-8-sig').read(), 
style_function=lambda x:{'fillColor':'yellow' if x['properties']['POP2005']<1000000 else 'brown'})) 

for lt,ln,el in zip(lat1,lon1,pro): 
    fgv.add_child(folium.CircleMarker(location=[lt,ln],radius=6,popup=str(el),fill_color="red",fill=True,color="orange",fill_opacity=0.7)) 
map.add_child(fgv) 
map.add_child(fgp) 
map.add_child(folium.LayerControl()) 
map.save("Map3.html") 
+0

如果您从'CircleMarker'中删除'popup'参数,它会起作用吗? –

+0

是的,它的工作如果**弹出**被删除。会有什么问题?如何纠正它? –

+0

罪魁祸首通常是它不喜欢的弹出文本中的一个字符。如撇号。这个问题与你的相似https://stackoverflow.com/questions/46376591/why-does-mapping-in-folium-with-over-100-circle-markers-result-in-a-blank-map?noredirect= 1#comment79729451_46376591 –

回答

1

这是由于文件中的文本编码。可能是一些特殊的人物造成了这个问题。