Ich versuche, leaflet
Popups in R
, mit dem leaflet
Paket feinere Kontrolle zu bekommen. Der Code für einen MWE ist unter:Getting feinere Kontrolle von Prospekt Popups in r
library(dplyr)
library(magrittr)
library(leaflet)
download.file(
url = "http://biogeo.ucdavis.edu/data/gadm2.8/rds/GBR_adm1.rds",
destfile = "GBR_adm1.rds",
method = "curl"
)
shp_gbr <- readRDS("GBR_adm1.rds")
# get centroids for placing popups in second map
shp_gbr_centers <-
rgeos::gCentroid(shp_gbr, byid = TRUE) %>%
sp::SpatialPointsDataFrame([email protected], match.ID = FALSE)
[email protected] %<>%
left_join(shp_gbr_centers[1], by = 'OBJECTID', copy = TRUE) %>%
rename(lat = y, lng = x) %>%
select(NAME_1, lat, lng) %>%
mutate(text = ProgGUIinR::LoremIpsum)
popup <- paste("<b><h3>", shp_gbr$NAME_1, "</h3></b>", shp_gbr$text)
shp_gbr %>%
leaflet() %>%
addPolygons(popup = ~popup)
Dieses eine schöne Karte mit Pop-ups gibt, die auf Klick in den Bereichen der vier Länder erscheinen, aber in diesem Fall ist der Text ist zu viel für das Pop-up schön zu handhaben :
Was Ich mag würde, ist ein Teil der popupOptions
verfügbar über die addPopups
Funktion, in diesem Fall für den Zugriff auf das Popup breiter zu machen und eine Bildlaufleiste angezeigt. Ein Beispiel hierfür ist unter:
shp_gbr %>%
leaflet() %>%
addPolygons() %>%
addPopups(
data = [email protected],
popup = ~popup,
options =
popupOptions(
maxWidth = 600,
maxHeight = 100
)
)
Allerdings sind die Pop-ups nun eingestellt offen auf Start zu sein, anstatt erscheinen innerhalb der Grenzen zu klicken, und Sie wieder öffnen nicht auf Klick geschlossen einmal:
Meine Frage ist, wie Sie diese Elemente kombinieren, so dass Sie beispielsweise eine Bildlaufleiste für zu viel Text innerhalb einer Map haben könnten, wie im ersten Beispiel, wo die Popups standardmäßig geschlossen sind, aber beim Klick geöffnet sind.
Sieht aus wie ein Überstand von, wie es in JavaScript funktioniert. Eine Problemumgehung besteht darin, mit Ihrem Popup-HTML einfach etwas intensiver zu werden und CSS über Stilattribute hinzuzufügen, um die Größenanpassung zu steuern. – alistaire
@alistaire Ja, du magst da sein ... es ist nur verlockend nah dran, dass es in getrennten Ansätzen so gut funktioniert, aber das Zusammenfügen funktioniert nicht ... –
Prüfe die GitHub-Probleme; jemand könnte das schon mal erlebt haben. Wenn nicht, könnten Sie einen hinzufügen. – alistaire