日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

本文介紹了(已關(guān)閉)Leaflet.js:如何僅在我選擇的特定對(duì)象上編輯幾何圖形?的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我很興奮,和Leaflet.JS在gis地圖上玩得很開心。我是新手。我也非常感謝@Grzegorz T.的兄弟,感謝他們的好意,并幫助我介紹Leaflet.JS。

現(xiàn)在,我計(jì)劃僅在我選擇的特定對(duì)象上編輯幾何圖形。我已經(jīng)在想如何流動(dòng)和結(jié)果,但過程?(哈哈哈..)。我也已經(jīng)知道Leaflet.js上的DrawItems函數(shù),但我將使用。

在我開始之前讓我先描述一下簡(jiǎn)單的流程…

A.我剛剛使用了jsfiddle1@Grzegorz T.

B.我添加了DrawItems

...
{ 'DrawLayer': drawnItems }, { position: 'topleft', collapsed: false }).addTo(map);
...

    //Add Draw Control//
    map.addControl(new L.Control.Draw({
        edit: {
            featureGroup: drawnItems,
            poly: {
                allowIntersection: false
            }
        },
        draw: {
            polygon: {
                allowIntersection: false,
                showArea: true
            }
        }
    }));

    //Draw Objects//
    map.on(L.Draw.Event.CREATED, function (event) {
        var layer = event.layer;
        drawnItems.addLayer(layer);
    });

    //Get Leaflet Object ID 
    drawnItems.on('click', function(event) {
      console.log("from drawnItems: " + event.layer._leaflet_id);
    });
        

  //Get Geometry from Layer & ID

  //Edit Only This Objects

  //Save This Editing Back to Original Layer & ID

我在這部分看到的問題是:

1.我不知道如何將我選擇的原始幾何圖形從Layer復(fù)制到DrawLayer。

2.僅隱藏原始層上的此幾何圖形(Id),直到編輯結(jié)束或取消。(可能將不透明度更改為不可見)

3.完成編輯并保存時(shí),如何保存回原始層并將結(jié)果顯示到地圖。

我希望誰是鐵桿,誰已經(jīng)在Leaflet.JS上找到了簡(jiǎn)單的方法,JS可以幫助我完成這項(xiàng)骯臟的工作…

更新3/3/2022

我找到了如何重新設(shè)置我選擇的對(duì)象(幾何體)的樣式,這是以下內(nèi)容的封面:
2.僅隱藏原始層上的此幾何圖形(Id),直到編輯結(jié)束或取消。(可能將不透明度更改為不可見)

代碼如下:-

  onEachFeature: function (feature, layer) {           
    //restyle the geom when display
    layer.setStyle({
      fillColor: "white",
      weight: 2,
      color: "#eb4034",
      fillOpacity: 0.7,
    });

    layer.on("mouseover", function (e) {
      // style
      this.setStyle({
        fillColor: "#eb4034",
        weight: 2,
        color: "#eb4034",
        fillOpacity: 0.7,
      });
    });
    layer.on("mouseout", function () {
      // style
      this.setStyle({
        fillColor: "#3388ff",
        weight: 2,
        color: "#3388ff",
        fillOpacity: 0.1,
      });
    });
    layer.on("click", function () {
      this.setStyle({
        fillColor: "transparent",
        weight: 0,
        color: "transparent",
        fillOpacity: 0,
      });

    });
  },

2022年4月3日更新

有人可以幫助我如何使用編輯模式以編程方式將幾何圖形傳遞給圖形項(xiàng)嗎?假設(shè)我有如下所示的幾何圖形:-

……
{&Q;類型:&Q;要素&Q;,"geometry":{"type":"Polygon",&Q;坐標(biāo)&Q;:[[16.3716,54.4414],[16.3946,54.4477],[16.4315,54.487],[16.4797,54.5164],[16.4968,54.5231],[16.5299,54.5407],[16.6145,54.5598],[16.6887,54.5696],[16.6991,54.5692],[16.7126,54.5542],[16.7392,54.5384],[16.7481,54.5276],[16.7392,54.5177],[16.7566,54.4946],[16.764,54.4861],[16.7933,54.4874],[16.8275,54.4648],[16.8211,54.4563],……
.
,&Q;屬性:{&Q;ID&Q;:4,"nazwa":"zachodniopomorskie"},&Q;ID&Q;:3}

如何以編程方式將此多邊形(幾何圖形)傳遞到dranItems層?

請(qǐng)幫助我,并提前感謝您閱讀此消息。

推薦答案

掙扎了幾天后,我終于找到了完成任務(wù)的解決方案。它不是很漂亮,但至少我填得還可以,我需要的都在那里。

我使用

layer.on("click", function(e) {

從原始層獲取幾何體和id。我通過使用

傳遞給dranItems的原始幾何圖形

geojsonLayer = L.geoJson(oriGeom);
geojsonLayer.getLayers()[0].addTo(drawnItems);

在圖紙層上拉回以進(jìn)行編輯。當(dāng)我將原始幾何體上的樣式調(diào)整為不可見時(shí)。可編輯的幾何體只能在用戶認(rèn)為這是他/她現(xiàn)在正在編輯的原始幾何體的舞臺(tái)上看到。

  onEachFeature: function (feature, layer) {           
    //restyle the geom when display
    layer.setStyle({
      fillColor: "white",
      weight: 2,
      color: "#eb4034",
      fillOpacity: 0.7,
    });

    layer.on("mouseover", function (e) {
      // style
      this.setStyle({
        fillColor: "#eb4034",
        weight: 2,
        color: "#eb4034",
        fillOpacity: 0.7,
      });
    });
    layer.on("mouseout", function () {
      // style
      this.setStyle({
        fillColor: "#3388ff",
        weight: 2,
        color: "#3388ff",
        fillOpacity: 0.1,
      });
    });
    layer.on("click", function () {
      this.setStyle({
        fillColor: "transparent",
        weight: 0,
        color: "transparent",
        fillOpacity: 0,
      });

完成編輯后,我使用Python類按搜索ID保存回原始層,并僅將原始坐標(biāo)替換為新坐標(biāo)(EditGeom)。:)

然后我用這個(gè)技巧刪除了dranItems層中的所有對(duì)象

  document.querySelector(".leaflet-draw-edit-remove").click(); //fake click Delete
  document.querySelector("ul li:last-child a").click(); //fake click Save All

僅此而已。

這篇關(guān)于(已關(guān)閉)Leaflet.js:如何僅在我選擇的特定對(duì)象上編輯幾何圖形?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,

分享到:
標(biāo)簽:error(Closed)Leaflet.js:HowIcanDoEditingGeometryOnSpecificObjectISe
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定