2016-04-01 15 views
7

編集:@Symbolixによって指摘されているように、setMaxBoundsは実際に私が探しているものとは異なるものです。私は実際にはズーミングを完全に無効にし、コントロールを削除したいだけです。リーフレットのJavaScript APIドキュメントに記載されているzoomControlオプションは、私が望むように見えますが、Rパッケージでそのオプションが見つかりません。RリーフレットzoomControlオプション


私はリーフレットを使用してRでマップツールを構築しています、と私は特定の領域にズームを制限したいのですが、setMaxBounds機能は何ら影響を与えていないようです。

library(dplyr) 
library(leaflet) 
library(tigris) 

ohio_map <- leaflet(counties('OH', cb = TRUE)) %>% 
    addProviderTiles("CartoDB.Positron") %>% 
    addPolygons(weight = .3, 
       color = "#229922", 
       layerId = ~NAME) %>% 
    setMaxBounds(lng1 = -84.800, 
       lat1 = 42.000, 
       lng2 = -80.500, 
       lat2 = 38.400) 
ohio_map 

これは地図の右側の領域を示していますが、ズームアウトを防止するものではありません。

ズームコントロールを完全に削除すると、ナビゲーションをより適切なアプリケーションに置き換えることができます。私はzoomControlオプションを見つけましたが、それを動作させるためにRのどこに置くべきか把握できませんでした。

+0

ヨーヨー持っていますあなたはaddProviderTiles( "CartoDB.Positron"、options = tileOptions(minZoom = 9))やaddProviderTiles( "CartoDB.Positron"、options = tileOptions(maxZoom = 9))のようなものを試しました。あなたはあなたが望むものの番号を変更することができます。 – MLavoie

+0

'setMaxBounds()'は、ズームレベルではなく、左/右/上/下(すなわち、地図の境界)をスクロールさせません。 '?setView'から' options = list() 'で利用可能な[zoom options](http://leafletjs.com/reference.html#map-zoompanoptions)は* zoomControl *を含んでいません。 function – SymbolixAU

+0

@MLavoie、maxZoom/minZoomをチェックアウトしましたが、それは近くに来ますが、ズームボタンを削除することもできます。 –

答えて

9

ズームコントロールを削除するには、zoomControl = FALSEleafletOptionsに設定します。例:

library(leaflet) 
leaflet(options = leafletOptions(zoomControl = FALSE)) %>% 
    addTiles() 

これは、ダブルクリックまたはマウスホイールのスクロールによるズームを無効にしないことに注意してください。ズームレベルを制御するには、minZoommaxZoomleafletOptionsに設定します。ズーム無効にするには、maxZoomに等しいminZoomを設定します。

leaflet(options = leafletOptions(zoomControl = FALSE, 
           minZoom = 3, maxZoom = 3, 
           dragging = FALSE)) %>% 
    addTiles() 
:ボーナスとして

leaflet(options = leafletOptions(zoomControl = FALSE, 
           minZoom = 3, maxZoom = 3)) %>% 
    addTiles() 

、あなたがマップの「静的」ビューを望む場合には、あなたもdraggingオプションでドラッグ無効にすることができますあなたは上記のオプションを実装するためにleaflet の最新githubのバージョンをインストールする必要があるかもしれません

注:

# install github version of leaflet 
if (!require('devtools')) install.packages('devtools') 
devtools::install_github('rstudio/leaflet')` 
関連する問題