Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

141
Views
Uso de Leaflet.Sync en el código JavaScript de OnRender para Leaflet visual en R

He estado tratando de crear un mapa de folleto visual en R que sincronice dos mapas (dos mapas se muestran uno al lado del otro y cuando mueves/haces zoom en un mapa, el otro mapa se mueve junto con eso). Esto funciona bien usando el paquete R leafsync , vea esta imagen . Sin embargo, el objetivo final es usar este R Visual en un informe de PowerBI y el paquete leafsync no es compatible con PowerBI. Por lo tanto, me gustaría usar el paquete Javascript Leaflet.Sync en una función OnRender al crear el objeto visual R. A continuación se muestra el código que tengo hasta ahora, donde map1 y map2 son imágenes de mapas de folletos creadas anteriormente en R:

 # A function that takes a plugin htmlDependency object and adds # it to the map. This ensures that however or whenever the map # gets rendered, the plugin will be loaded into the browser. registerPlugin <- function(map, plugin) { map$dependencies <- c(map$dependencies, list(plugin)) map } # This tells htmlwidgets about our plugin name, version, and where to find the script syncPlugin <- htmlDependency("Leaflet.Sync", "0.2.4", src = c(href = "https://cdn.jsdelivr.net/gh/jieter/Leaflet.Sync/"), script = list("L.Map.Sync.js")) map2 = map2 %>% # Register Sync Plugin on this map instance registerPlugin(syncPlugin) %>% # Add your custom JS logic here. The `this` keyword refers to the Leaflet (JS) map object. onRender("function(el, x, data) { this.sync(data); data.sync(this); }", data=map1) map2

Actualmente, esto no funciona (el resultado que obtengo es la imagen map2 original que no se puede mover ni hacer zoom, la imagen map1 no se ve por ninguna parte), sin embargo, no estoy seguro de por qué y, por lo tanto, tengo un par de preguntas:

  • No estoy seguro de si syncPlugin está registrado correctamente, ¿cómo puedo verificar si ese es el caso?
  • No estoy seguro de si el mapa visual Map1 del folleto se pasa correctamente a la función OnRender, ¿alguna sugerencia sobre cómo verifico si ese es el caso?
  • ¿Es posible lo que estoy tratando de hacer? ¿Puedo llamar a esta función de sincronización mientras renderizo un objeto de mapa o debo hacerlo después de renderizar los objetos de mapa? Si es así, ¿alguna sugerencia sobre cómo hacer esto, porque no puedo usar el paquete JavaScript Leaflet.Sync en mi script R excepto en esta función OnRender, verdad?

¡Muchas gracias de antemano por cualquier ayuda brindada! :)

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!