2016-05-12 175 views
0

這是我第一次嘗試使用傳單來處理javascript和GeoJSON。 到目前爲止,我得到了所需的地圖和leaflet.draw插件,可以繪製圖形並顯示在屏幕上。 我試圖將此形狀寫入我想在R中使用的GeoJSON。 因此,我使用呈現here的想法來創建GeoJSON字符串。我認爲我所需要的信息存儲在變量shape_for_db中。 但是,在Firefox中使用Firebug,我無法找到這個變量。 我在這裏遇到什麼問題嗎? 這是我使用的腳本:從LeafletDraw到GeoJSON的多邊形

<html> 
<head> 
    <title>A Leaflet map!</title> 
    <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet/v1.0.0-rc.1/leaflet.css" /> 
    <link rel="stylesheet" href="http://leaflet.github.io/Leaflet.draw/leaflet.draw.css" /> 
    <script src="http://cdn.leafletjs.com/leaflet/v1.0.0-rc.1/leaflet.js"></script> 
    <script src="jquery-2.1.1.min.js"></script> 
    <script src="http://leaflet.github.io/Leaflet.draw/leaflet.draw.js"></script> 
    <style> 
    #map{ width: 100%; height: 100%; } 
    </style> 
</head> 

<body> 


    <div id="map"></div> 

    <script> 

    // base map 
    var map = L.map('map').setView([51.25,10.57], 8); 

    // load a tile layer 
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', 
    { 
     attribution: 'Tiles by: OpenStreetMaps', 
     maxZoom: 17, 
     minZoom: 5 
    }).addTo(map); 

// Initialise the FeatureGroup to store editable layers 
var drawnItems = new L.FeatureGroup(); 
map.addLayer(drawnItems); 

// Initialise the draw control and pass it the FeatureGroup of editable layers 
     var drawnItems = new L.FeatureGroup(); 
     map.addLayer(drawnItems); 

     var drawControl = new L.Control.Draw({ 
      edit: { 
       featureGroup: drawnItems 
      } 
     }); 
     map.addControl(drawControl); 

     map.on('draw:created', function (e) { 
      var type = e.layerType, 
       layer = e.layer; 
      drawnItems.addLayer(layer); 
     }); 
// Shape to GeoJSON 
map.on('draw:created', function (e) { 
    var type = e.layerType; 
    var layer = e.layer; 
    var shape = layer.toGeoJSON() 
    var shape_for_db = JSON.stringify(shape); 
}); 

    </script> 
</body> 
</html> 

回答

0

範圍爲您shape_for_db是你draw-created秒監聽器裏。如果你正在做一次性的實驗/玩耍的方法,並想使用你的開發控制檯/ Firebug,你可以放在window.shape_for_db上。或者在聽衆之外設置var shape_for_db