本篇內(nèi)容介紹了“R語言高級輔助特性怎么用”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
堅守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都柔性防護(hù)網(wǎng)小微創(chuàng)業(yè)公司專業(yè)提供成都企業(yè)網(wǎng)站定制營銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。
附加屬性:
測度工具:Leaflet Measure
###增加該工具可以輕而易舉的讓你在可視化地圖中通過鼠標(biāo)打點(diǎn),測量兩點(diǎn)之間的距離,如果是閉合區(qū)域,則可以直接計算閉合區(qū)域的真實(shí)面積。
網(wǎng)格線:Graticule
### 網(wǎng)格線可以提供平面坐標(biāo)系下地理空間的經(jīng)緯度位置參考線。
晝夜分界線:Terminator (day/night indicator)
###晝夜分界線可以提供一天中不同地區(qū)的晝夜分界狀況。
mini小地圖:Minimap
mini窗口小地圖可以提供定位窗口,讓你知道主版面中位置在更大范圍地理區(qū)域上的大致方位,就相當(dāng)于游戲中的mini導(dǎo)航圖。
輔助按鈕:EasyButton
輔助按鈕可以提供一鍵初始化比例尺,一鍵定位功能。
自定義js屬性:Custom JavaScript with htmlwidgets::onRender
你可以利用leaflet與HTML的接口工具對地圖版面進(jìn)行更加豐富的屬性設(shè)置。
測度工具:Leaflet Measure
library(leaflet)
m<-leaflet()%>%addTiles()
m %>%fitBounds(-73.9,40.75,-73.95,40.8) %>%addMeasure()
右上側(cè)的小彈窗打開之后選擇創(chuàng)建測距選項,就可以通過鼠標(biāo)打點(diǎn)兒,測量兩點(diǎn)之間的地理距離,如果是三個以上的點(diǎn),則會測量出閉合多邊形區(qū)域的面積。
m %>%
fitBounds(13.76134, 52.675499, 13.0884, 52.33812) %>% #設(shè)定版面呈現(xiàn)的地理區(qū)域范圍
addMeasure(
position = "bottomleft", #測距菜單位置
primaryLengthUnit = "meters", #測量的點(diǎn)距離輸出單位
primaryAreaUnit = "sqmeters", #測量的閉合多邊形區(qū)域面積輸出單位
activeColor = "#3D535D", #
completedColor = "#7D4479")
網(wǎng)格線:Graticule
leaflet() %>% addTiles() %>% setView(0,0,2) %>% addGraticule()
leaflet() %>% addTiles() %>% setView(0,0,2) %>%
addGraticule(interval = 10, style = list(color = "#FF0000", weight = 1))
而且網(wǎng)格線系統(tǒng)是可控元素,控制方式就是將其當(dāng)成一個單獨(dú)的圖層,然后分組。
leaflet() %>% addTiles() %>% setView(0,0,2) %>%
addGraticule(group = "Graticule") %>%
addLayersControl(overlayGroups = c("Graticule"),options=layersControlOptions(collapsed = FALSE))
晝夜分界線:Terminator (day/night indicator)
leaflet() %>% addTiles() %>% addTerminator()
晝夜分界線支持自定義日期和分組功能:
leaflet() %>%
addTiles() %>%
addTerminator(
resolution=10,
time = "2013-06-20T21:00:00Z",
group = "daylight") %>%
addLayersControl(
overlayGroups = "daylight",
options = layersControlOptions(collapsed = FALSE))
mini導(dǎo)航地圖:Minimap
leaflet() %>% setView(0,0,3) %>%
addProviderTiles(providers$Esri.WorldStreetMap) %>%
addMiniMap()
mini導(dǎo)航地圖中的地圖背景也是支持自定義的:
leaflet() %>% setView(0,0,3) %>%
addProviderTiles(providers$Esri.WorldStreetMap) %>%
addMiniMap(tiles = providers$Esri.WorldStreetMap,toggleDisplay = TRUE)
輔助工具菜單:
library(htmltools)
library(htmlwidgets)
leaflet() %>% addTiles() %>%
addEasyButton(easyButton( #添加一鍵恢復(fù)初始窗口比利時
icon="fa-globe", title="Zoom to Level 1",
onClick=JS("function(btn, map){ map.setZoom(1); }"))) %>%
addEasyButton(easyButton( #添加一鍵定位功能(根據(jù)你的所在位置)
icon="fa-crosshairs", title="Locate Me",
onClick=JS("function(btn, map){ map.locate({setView: true}); }")))
動態(tài)效果:
以下代碼展示了如何通過調(diào)用js工具控件來通過打開菜單工具開啟地圖上的點(diǎn)聚合功能,同時關(guān)閉菜單工具按鈕,關(guān)閉點(diǎn)聚合功能。
leaflet() %>% addTiles() %>%
addMarkers(data=quakes,
clusterOptions = markerClusterOptions(),
clusterId = "quakesCluster") %>%
addEasyButton(easyButton(
states = list(
easyButtonState( #狀態(tài)1:打開菜單,開啟點(diǎn)聚合
stateName="unfrozen-markers",
icon="ion-toggle",
title="Freeze Clusters",
onClick = JS("
function(btn,map) {
var clusterManager =
map.layerManager.getLayer('cluster', 'quakesCluster');
clusterManager.freezeAtZoom();
btn.state('frozen-markers');
}")
),
easyButtonState( #狀態(tài)2:關(guān)閉菜單,結(jié)束點(diǎn)聚合功能
stateName="frozen-markers",
icon="ion-toggle-filled",
title="UnFreeze Clusters",
onClick = JS("
function(btn, map) {
var clusterManager =
map.layerManager.getLayer('cluster', 'quakesCluster');
clusterManager.unfreeze();
btn.state('unfrozen-markers');
}")
)
)
))
自定義js屬性:Custom JavaScript with htmlwidgets::onRender
基礎(chǔ)圖層會根據(jù)導(dǎo)航窗內(nèi)的圖層風(fēng)格改變而隨之轉(zhuǎn)換:
mymap<-leaflet() %>% setView(0,0,3)
esri <- grep("^Esri", providers, value = TRUE)
for (provider in esri) {
mymap <-mymap %>% addProviderTiles(provider, group = provider)
}
mymap %>%
addLayersControl(baseGroups = names(esri),
options = layersControlOptions(collapsed = FALSE)) %>%
addMiniMap(tiles = esri[[1]], toggleDisplay = TRUE,
position = "bottomleft") %>%
htmlwidgets::onRender("
function(el, x) {
var myMap = this;
myMap.on('baselayerchange',
function (e) {
myMap.minimap.changeLayer(L.tileLayer.provider(e.name));
})
}")
“R語言高級輔助特性怎么用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
當(dāng)前文章:R語言高級輔助特性怎么用
文章轉(zhuǎn)載:http://chinadenli.net/article28/giidcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、品牌網(wǎng)站建設(shè)、建站公司、ChatGPT、虛擬主機(jī)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)