2017-10-07 61 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

這是由於文件中的文本編碼。可能是一些特殊的人物造成了這個問題。