Javascript 传单。使用GeoJson绘制保存数据 map.addControl(新的L.Control.Draw({ 抽签:{ 多边形:错, 多段线:false, 矩形:假, 圆圈:错 }, 编辑:{featureGroup:drawnItems} })); 地图上('draw:created',函数(e){ 变量类型=e.layerType; var层=e层; 变量idIW=L.popup(); 风险价值内容='标题报告'; idIW.setContent(content); idIW.setLatLng(layer.getLatLng()); openOn(map); drawnItems.addLayer(层) }); 函数saveIdIW(){ var sName=$('#salrepnu').val(); var salRep=$('#salRep').val(); var draws=drawnItems.getLayers();//drawnItems是绘制对象的容器 图纸[drawings.length-1]。标题=sName; 图纸[drawings.length-1]。内容=salRep; map.closePopup(); }; //出口 document.getElementById('export')。onclick=function(e){ //从featureGroup中提取GeoJson var data=drawnItems.toGeoJSON(); //将GeoJson字符串化 var convertedData='text/json;charset=utf-8',+encodeURIComponent(json.stringify(data)); //创建导出 document.getElementById('export').setAttribute('href','data:'+convertedData); document.getElementById('export').setAttribute('download','drawnItems.geojson'); }
我添加了lapper.draw.js和lapper.draw.css,可以从外部geoJson文件设置地图;但是我一辈子都不知道如何将输入html保存到geoJson特性,因为featureGroup drawnItems将导出long和lat特性,而不是html特性 我希望featureGroup标记附加到geoJson文件中,该文件将显示在实时地图上。谢谢你的帮助Javascript 传单。使用GeoJson绘制保存数据 map.addControl(新的L.Control.Draw({ 抽签:{ 多边形:错, 多段线:false, 矩形:假, 圆圈:错 }, 编辑:{featureGroup:drawnItems} })); 地图上('draw:created',函数(e){ 变量类型=e.layerType; var层=e层; 变量idIW=L.popup(); 风险价值内容='标题报告'; idIW.setContent(content); idIW.setLatLng(layer.getLatLng()); openOn(map); drawnItems.addLayer(层) }); 函数saveIdIW(){ var sName=$('#salrepnu').val(); var salRep=$('#salRep').val(); var draws=drawnItems.getLayers();//drawnItems是绘制对象的容器 图纸[drawings.length-1]。标题=sName; 图纸[drawings.length-1]。内容=salRep; map.closePopup(); }; //出口 document.getElementById('export')。onclick=function(e){ //从featureGroup中提取GeoJson var data=drawnItems.toGeoJSON(); //将GeoJson字符串化 var convertedData='text/json;charset=utf-8',+encodeURIComponent(json.stringify(data)); //创建导出 document.getElementById('export').setAttribute('href','data:'+convertedData); document.getElementById('export').setAttribute('download','drawnItems.geojson'); },javascript,json,leaflet,geojson,leaflet.draw,Javascript,Json,Leaflet,Geojson,Leaflet.draw,我添加了lapper.draw.js和lapper.draw.css,可以从外部geoJson文件设置地图;但是我一辈子都不知道如何将输入html保存到geoJson特性,因为featureGroup drawnItems将导出long和lat特性,而不是html特性 我希望featureGroup标记附加到geoJson文件中,该文件将显示在实时地图上。谢谢你的帮助 map.addControl(new L.Control.Draw({ draw: {
map.addControl(new L.Control.Draw({
draw: {
polygon: false,
polyline: false,
rectangle: false,
circle: false
},
edit: {featureGroup: drawnItems}
}));
map.on('draw:created', function(e) {
var type = e.layerType;
var layer = e.layer;
var idIW = L.popup();
var content = '<span><b>Title</b></span><br/><input id="salrepnu" type="text"/><br/><br/><span><b>Report<b/></span><br/><textarea id="salrep" cols="25" rows="5"></textarea><br/><br/><input type="button" id="okBtn" value="Save" onclick="saveIdIW()"/>';
idIW.setContent(content);
idIW.setLatLng(layer.getLatLng());
idIW.openOn(map);
drawnItems.addLayer(layer)
});
function saveIdIW() {
var sName = $('#salrepnu').val();
var salRep = $('#salrep').val();
var drawings = drawnItems.getLayers(); //drawnItems is a container for the drawn objects
drawings[drawings.length - 1].title = sName;
drawings[drawings.length - 1].content = salRep;
map.closePopup();
};
//Export
document.getElementById('export').onclick = function(e) {
// Extract GeoJson from featureGroup
var data = drawnItems.toGeoJSON();
// Stringify the GeoJson
var convertedData = 'text/json;charset=utf-8,' + encodeURIComponent(JSON.stringify(data));
// Create export
document.getElementById('export').setAttribute('href', 'data:' + convertedData);
document.getElementById('export').setAttribute('download', 'drawnItems.geojson');
}
map.on('draw:created',函数(e){
变量类型=e.layerType;
var层=e层;
var feature=layer.feature=layer.feature | |{};//初始化layer.feature
feature.type=feature.type | |“feature”;//初始化fueature.type
var props=feature.properties=feature.properties | |{};//初始化feature.properties
如果(类型=='marker'){
props.repnumb=提示(“销售报告编号”);
props.sales=提示(“销售”);
var popContent=“敬礼报告编号。”+
props.repnumb+“”+
“销售:“+props.Sales+””;
layer.bindPopup(popContent);
}
drawnItems.addLayer(层)
});
我知道了如何创建干净的特征输入,但在格式部门似乎缺少提示方法。有一个弹出窗口询问一个问题,但至少该问题在设置后现在出现在标记上。其中包含一个问题
。。。
document.getElementById('export')。onclick=function(e){
//从featureGroup中提取GeoJson
var data=featureGroup.toGeoJSON();
//将GeoJson字符串化
var convertedData='text/json;charset=utf-8',+encodeURIComponent(json.stringify(data));
//创建导出
document.getElementById('export').setAttribute('href','data:'+convertedData);
document.getElementById('export').setAttribute('download','data.geojson');
}
hi here,您可以查看我是如何利用Geoman关于该图书馆的传单做到这一点的:
map.on('draw:created', function(e) {
var type = e.layerType;
var layer = e.layer;
var feature = layer.feature = layer.feature || {}; // Intialize layer.feature
feature.type = feature.type || "Feature"; // Intialize fueature.type
var props = feature.properties = feature.properties || {}; // Intialize feature.properties
if (type === 'marker'){
props.repnumb = prompt("Sales Report No. ");
props.sales = prompt("Sales");
var popContent = "<p><b>SALUTE Report No. " +
props.repnumb + "</b></br>" +
"<b>Sales: " + props.sales + "</b></p>";
layer.bindPopup(popContent);
}
drawnItems.addLayer(layer)
});
...
<body>
<a href='#' id='export'>Export Features</a>
<script>
document.getElementById('export').onclick = function(e) {
// Extract GeoJson from featureGroup
var data = featureGroup.toGeoJSON();
// Stringify the GeoJson
var convertedData = 'text/json;charset=utf-8,' + encodeURIComponent(JSON.stringify(data));
// Create export
document.getElementById('export').setAttribute('href', 'data:' + convertedData);
document.getElementById('export').setAttribute('download','data.geojson');
}
</script>
</body>