从传单数据到GeoJSON的多边形
Polygon from LeafletDraw to GeoJSON
这是我第一次尝试使用传单处理javascript和GeoJSON。到目前为止,我已经得到了想要的地图和leaflet.draw插件,它们的工作方式是我可以绘制一个形状,并显示在我的屏幕上。我试着把这个形状写成我想在R中使用的GeoJSON。因此,我使用这里提供的思想来创建GeoJSON字符串。我认为我想要的信息存储在变量shape_for_db
中。然而,在Firefox中使用Firebug时,我找不到这个变量。我这里有什么问题吗?这是我正在使用的脚本:
<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>
shape_for_db
的作用域在draw-created
的第二个侦听器内。如果你这样做是为了一次性的实验/模拟方法,并且想使用你的开发控制台/Firebug,你可以把它放在window.shape_for_db
上。或者在侦听器之外设置var shape_for_db
。
相关文章:
- SVG/JavaScript:尝试选择和更改多边形点
- 如何获取谷歌地图多边形的当前fillColor
- 如何使用传单pip插件与纯GeoJSON数据
- 使用AJAX调用将GeoJSON数据拉入传单
- 如何在OpenLayers中获取动态绘制的多边形的坐标
- 使用Google Maps API驱动时间多边形
- Mapbox JS,来自URL的GeoJSON featureCollection对象只添加了一个标记
- Matlab点在多边形中
- 如何使所有绘制的(矩形、圆形、直线、多边形)都可拖动?纯JS
- 如何在fabric js中向多边形添加图像
- 使用css跨浏览器动态剪切多边形
- fabric js多边形集合坐标
- 从传单数据到GeoJSON的多边形
- 从 d3.js 中的 GeoJson 多多边形获取每个多边形的质心
- 如何在传单中编辑多边形后获得修改和原始的geojson点
- 通过javascript中的URL加载的GeoJSON多边形样式,MapBox
- 如何知道给定的latlng是否在geojson多边形坐标内
- 在GeoJson数据接收到的谷歌地图多边形上贴上标签
- 是否可以使用JavasScript确定GeoJSON点是否在GeoJSON多边形内
- 谷歌地图v3 API鼠标悬停与GeoJson多边形层