Leaflet基本型物件態包含以下類型:
LatLng就是Latitude 與Longitude,也就是座標的經緯度。LatLng的資料格式為{lat: , lng: }
,可以看到它是一個dictionary的格式,其中包含的key為lat
與lng
,分別為緯度、經度。
建立latLng的方法有三種,以下均用緯度:22.73444963475145
, 經度:120.28458595275877
做示範:
L.latLng(22.73444963475145, 120.28458595275877);
L.latLng([22.73444963475145, 120.28458595275877]);
L.latLng({
lat: 22.73444963475145,
lng: 120.28458595275877
})
L.latLng({
lng: 120.28458595275877,
lat: 22.73444963475145
})
第1行以逗點將座標串起來,第2行則以陣列方式串起來,兩個方式要注意的是順序不能相反,先緯度再經度。
第3行跟第7行都是用dictionary建立,兩者順序不同,但最後都可以產出同一個點。
LatLngBounds以Bounds為最後呈現結果,用latLng來建立。LatLngBounds的資料格式為{northEast: , southWest: }
,同樣也是dictionary格式,但是key變為 northEast
與 southWest
,也就是東北與西南角,而兩個value都是latLng格式。LatLngBounds在建立時使用對角的2個座標點,格式均為latLng,LatLngBounds會根據點的位置取東北角與西南角的座標值儲存。以下用西北角及東南角的兩個座標點測試看看輸出的結果:
L.latLngBounds([
[22.73444963475145, 120.2877],
[22.75444963475145, 120.254585952]
])
這邊直接用陣列將兩個點包起來,最後得到的輸出結果為:
{
northEast:{
lat: 22.75444963475145,
lng: 120.2877
},
southWest:{
lat: 22.73444963475145,
lng: 120.254585952
}
}
可以看到我提供的第一個點座標為 [22.73444963475145, 120.2877]
,但輸出的latLngBounds是 [22.75444963475145, 120.2877]
,也就是第二個點的緯度跟第一個點的經度,而這個點的確是此矩形的東北角,所以latLngBounds確實有抓到正確的範圍。
Point格式跟latLng一樣,唯一不同的地方是point單位是pixel,latLng是度。
Bounds也跟latLngBounds格式相同,而bounds的單位是pixel,latLngBounds則是度。
所以latLng跟latLngBounds搭配;point跟bounds搭,只要看有latLng開頭就不會混淆了。
在建立marker的時候,可以設定marker的icon。Icon有以下options可以設定:
DivIcon拆開來看就是div + icon。也就是說你可以用div建立任何icon樣式,只要是div做的到的都可以。看起來好像很厲害,但我跟網頁還沒有很熟,所以我都只用icon來設定而已XDD
簡單地介紹完物件型態,一天又順利過去了!!!
有任何問題歡迎在底下留言喔~