2015-04-06 10 views
12

Wie füge ich Polygone von Global Administrative areas, so dass sie anklickbar sind.Hinzufügen Polygone zu R glänzend Prospekt Karte

Die einfache Art und Weise zu beschreiben, in der docs, dass ich versucht ist

adm <- getData('GADM', country='UKR', level=1) 
leaflet() %>% addTiles() %>% addPolygons(data=adm, weight = 3, fillColor = col) 

Aber stelle ich mir eine Broschüre Karte möchten, die später onClick Aktionen haben.

Basierend auf SuperZip, ich muss etwas Ähnliches haben

map <- createLeafletMap(session, "map") 
    session$onFlushed(once=TRUE, function() { 
    map$addPolygon(...) 
    }) 

Allerdings gibt es keine addPolygon Methode und ich bin verwirrt, wie wird es für SpartialPolygons arbeiten.

Ich habe auch versucht zu geoJSON Umwandlung, ähnlich wie https://ropensci.org/blog/2013/10/23/style-geojson-polygon/ oder dieses SO question, aber

polys <- fromJSON(<json data file>) 
    map <- createLeafletMap(session, "map") 
    session$onFlushed(once=TRUE, function() { 
    map$geoJson(polys) 
    }) 

ist mir ein Fehler

Error in func() : attempt to apply non-function 

Gibt es eine Möglichkeit, es zu tun zu tun? Oder was mache ich falsch?

+0

Welche onclick Aktion möchten Sie später haben? Einfache Popups? oder mehr? – maRtin

+0

Einfache Popups sind in Ordnung für den Anfang –

Antwort

7

Ich bin mir nicht sicher, ob ich das Problem wirklich verstehe, obwohl ich die Frage ein paar Mal gelesen habe. Der folgende Code scheint jedoch für mich zu funktionieren, da er leicht mit einem einfachen onClick Event kombiniert werden kann, wie ein Pop-up, das den Namen jedes Adm anzeigt. Einheit: