Leaflet GeoJSON在线编辑思路

加载GeoJSON图层

//基于L.GeoJSON.AJAX()函数  
//ShopUrl:数据存储路径   
var ShopLayer= new L.GeoJSON.AJAX(ShopUrl,{
        pointToLayer: function (feature, latlng) {
          return L.marker(latlng, {icon: ShopIcon});
        },
        onEachFeature: function(feature, layer) {
          layer.bindPopup(feature.properties.Shop_name);
        },
      });

web端编辑GeoJSON数据的思路

基于leaflet.draw.js和Leaflet.Editable.js的可行方法是利用ajax将GeoJSON数据基于坐标转化为可编辑多边形,可以配合编辑事件和后端完成对GeoJSON的编辑

  $.ajax({
      url:staticUrl1,//GeoJSON数据存储路径
      dataType: 'json',
      success: function(data){
        var thisTime = true;
        data.features.forEach(function(currentFeature){
          var latLngs = [currentFeature.geometry.coordinates[1], currentFeature.geometry.coordinates[0]];//经纬对调
          var marker = L.marker(latLngs).addTo(editlayer); // 假设你已经创建了一个Leaflet图层实例命名为editlayer
          marker.dragging.enable();//可拖拽,可以根据需求设置编辑权限
      },
      failure: function(data){
          console.log('The data wasn\'t received');
      }
    });

Leaflet 中,GeoJSON 是一种常见的用于表示矢量数据的数据格式。GeoJSON 由一系列的点、线和多边形组成,可以用来表示地理位置、边界和区域。以下是一些使用 GeoJSONLeaflet 操作: 1. 加载 GeoJSON 数据:使用 Leaflet 的 ajax() 方法加载 GeoJSON 数据。你可以将 GeoJSON 数据存储在一个外部的 .json 文件中,然后使用 ajax() 方法加载该文件。 ```javascript // 加载 GeoJSON 数据 var geojsonLayer = new L.GeoJSON.AJAX("data.geojson"); ``` 2. 将 GeoJSON 数据添加到地图中:使用 addLayer() 方法将 GeoJSON 数据添加到地图中。 ```javascript // 将 GeoJSON 数据添加到地图中 geojsonLayer.addTo(map); ``` 3. 样式设置:使用 style() 方法设置 GeoJSON 数据的样式,包括颜色、填充、线宽等。 ```javascript // 设置 GeoJSON 数据的样式 geojsonLayer.style({ color: "#ff0000", weight: 2, opacity: 0.5, fillOpacity: 0.2, fillColor: "#ff0000" }); ``` 4. 弹出窗口:使用 bindPopup() 方法为 GeoJSON 数据添加弹出窗口。 ```javascript // 为 GeoJSON 数据添加弹出窗口 geojsonLayer.bindPopup("<b>Hello world!</b><br>I am a popup."); ``` 5. 事件绑定:使用 on() 方法为 GeoJSON 数据绑定事件,包括 click、mouseover 等。 ```javascript // 为 GeoJSON 数据绑定 click 事件 geojsonLayer.on("click", function(e) { console.log("Clicked", e); }); ``` 以上是使用 GeoJSONLeaflet 操作,你可以根据实际情况进行调整和扩展。需要注意的是,GeoJSON 数据需要符合 GeoJSON 标准格式,否则在加载和处理过程中可能会出现问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值