iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 20
1
Modern Web

使用Leaflet及Folium開啟網頁地圖大門系列 第 20

20. Folium_Map與map

在folium下面的classes中,Map與map兩個有不同的意義。
Map為建立地圖的class,而map則是在地圖上進行描繪的class。

Map

首先來介紹一下Map的內容。同樣的,在jupyter notebook上輸入 folium.folium.Map()之後,在括號中輸入shift+Tab,就可以觀看Map的使用說明:

folium.folium.Map(
    location=None, 
    width='100%', 
    height='100%', 
    left='0%', 
    top='0%', 
    position='relative', 
    tiles='OpenStreetMap', 
    API_key=None, 
    max_zoom=18, 
    min_zoom=0, 
    max_native_zoom=None, 
    zoom_start=10, 
    world_copy_jump=False, 
    no_wrap=False, 
    attr=None, 
    min_lat=-90, 
    max_lat=90, 
    min_lon=-180, 
    max_lon=180, 
    max_bounds=False, 
    detect_retina=False, 
    crs='EPSG3857', 
    control_scale=False, 
    prefer_canvas=False, 
    no_touch=False, 
    disable_3d=False, 
    subdomains='abc', 
    png_enabled=False, 
    zoom_control=True
)

Map的功能就跟前面說的一樣,使用folium.folium.Map()來建立地圖。上面看到的程式碼中,可以看到folium.folium.Map()在設定時有很多參數可以調整,上面所列的都是預設的值,也就是說如果你都沒有設定的話,folium就會用以上的預設值去執行。

另外值得一提的是,folium.folium.Map()可簡化成folium.Map(),兩個產生的物件都是folium.folium.Map。

map

folium.map則屬於繪製地圖的模組,在folium.map底下有許多class可以使用。例如:

  • FeaturGroup
  • FitBounds
  • Icon
  • Layer
  • LayerControl
  • Marker
  • Popup
  • Tooltip

以上均屬於folium.map的class中,假如想要使用FeatureGroup,就可以使用以下方式建立FeatureGroup:

folium.map.FeatureGroup()

Icon

這邊要稍微提一下Icon,不知道各位是否還記得在17. Folium_看看他做了什麼好事?!(上)中有提到,folium生成的leaflet html中,有引用Leaflet.awesome-markers這個外掛,而Icon的運用就會使用到Leaflet.awesome-markers的樣式。


如果不確定要如何使用這些class的話,可以在jupyter notebook中輸入要使用的程式碼,並利用shift+Tab的功能查詢使用方法,再搭配官網提供的範例,相信可以結決大部分的問題,如果有其他問題的話,也歡迎在下面留言喔~

下一篇文章將開始介紹vector layer,會搭配之前寫過關於leaflet的文章一起說明,順便衝瀏覽數(?)


上一篇
19. Folium_GlobalSwitches
下一篇
21. Folium_Vector Layers
系列文
使用Leaflet及Folium開啟網頁地圖大門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言