2016-04-01 8 views
7

संपादित करें: जैसा कि @Symbolix से कहा, setMaxBounds वास्तव में कुछ मैं के लिए क्या देख रहा हूँ से अलग है। मैं वास्तव में बस ज़ूमिंग को पूरी तरह से अक्षम करना चाहता हूं, और नियंत्रण को हटा देना चाहता हूं। लीफलेट जावास्क्रिप्ट एपीआई दस्तावेज़ों में वर्णित zoomControl विकल्प जो मैं चाहता हूं वह प्रतीत होता है, लेकिन मुझे आर पैकेज में वह विकल्प नहीं मिल रहा है।आर पत्रक zoomControl विकल्प


मैं पत्रक का उपयोग कर अनुसंधान में एक मानचित्र उपकरण का निर्माण कर रहा हूँ, और मैं एक निश्चित क्षेत्र के लिए ज़ूम प्रतिबंधित करना चाहते हैं, लेकिन 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 विकल्प मिला, लेकिन यह पता लगाने में सक्षम नहीं है कि इसे आर में रखने के लिए इसे कहां रखा जाए।

+0

यो है यू की कोशिश की तरह कुछ: addProviderTiles ("CartoDB.Positron", विकल्प = tileOptions (minZoom = 9)) या addProviderTiles ("CartoDB.Positron", विकल्प = tileOptions (Maxzoom = 9))। आप जो चाहते हैं उसके लिए आप नंबर बदल सकते हैं। – MLavoie

+0

'setMaxBounds()' आपको बाएं/दाएं/ऊपर/नीचे स्क्रॉल करने से रोकता है (यानी, मानचित्र सीमाएं), ज़ूम स्तर नहीं। से '? SetView' [ज़ूम विकल्पों] (http://leafletjs.com/reference.html#map-zoompanoptions)' के लिए विकल्प = सूची उपलब्ध() 'शामिल करने के लिए * zoomControl * नहीं दिखाई देते। फ़ंक्शन – SymbolixAU

+0

@MLavoie, मैंने maxZoom/minZoom की जांच की, और यह करीब आ गया है, लेकिन यह बेहतर होगा अगर मैं ज़ूम बटन भी हटा सकता हूं। –

उत्तर

9

ज़ूम नियंत्रण को निकालने के लिए leafletOptions में zoomControl = FALSE निर्धारित किया है। उदाहरण के लिए:

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

नोट इस डबल क्लिक के माध्यम से जूम करने या अपने माउस पहिया के साथ स्क्रॉल अक्षम नहीं करेंगे कि। आप और maxZoom को सेट करके ज़ूम स्तर को नियंत्रित कर सकते हैं, फिर leafletOptions में। ज़ूमिंग को अक्षम करने के minZoom बराबर maxZoom करने के लिए सेट:

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')` 
संबंधित मुद्दे