arcgis js:graphicLayer刪除特定的graphic
移除graphicLayer資料有兩個方法:clear()方法清空圖層資料、remove()方法傳入graphic引數移除特定的graphic。
上述勾選顯示軌跡的情況,就要對取消勾選時移除對應的軌跡。記錄該部分移除的程式碼如下
定義了全域性變數 ,用於儲存每次新增的線段
var tempObj = {};
新增與移除程式碼:
function selectClick() {
$('#projectTable').on('click','.select',function () {
var fileid = $(this).attr('data-id');
if(!$(this).hasClass('cur')){
$(this).addClass('cur');
getRoadBinLocus(fileid);
}else{
$(this).removeClass('cur');
polylineGraphicLayer.remove(tempObj[fileid]);
}
})
}
//獲取軌跡
function getRoadBinLocus(fileid) {
//alert(fileid);
//HXcommon.loader();
var condition = {};
// condition.freq=lastFreq;
condition.fileName = fileid;
$.post('/routeAnalysis/getRoadBinLocus', condition, function(json) {
console.log(json);
// $.post('/move/getRoadBinLocus',condition,function(json){
var result = json.SUCCESS;
HXcommon.loaderClose();
if (result) {
if (json.list.length == 0) {
HXcommon.layer.alert("查無資料,請更換條件重新查詢!");
} else {
// 畫路軌
drawLocus(json.list,fileid);
console.log(json.list);
}
} else {
HXcommon.layer.alert(json.MSG);
}
});
}
function drawLocus(list,fileid) {
var lineArr = [];
for (var k = 0; k < list.length; k++) {
var lg = list[k].stationlg;
var la = list[k].stationla;
var gcj02Point = [];
//對座標加偏移後疊加
require(["hxdiGisModules/coordtransform"], function (coordtransform) {
gcj02Point = coordtransform.wgs84togcj02(lg, la);
});
lineArr.push(gcj02Point);
}
//測試資料
lineArr = [[120.0,30.13], [120.58,30.05],
[120.07,30.08],[120.23,30.3]];
createPolyLine(lineArr,fileid);
}
function createPolyLine(lineArr,fileid) {
require([
"esri/geometry/Polyline", "esri/graphic",
"esri/SpatialReference",
"esri/symbols/SimpleLineSymbol", "esri/Color",
"esri/layers/GraphicsLayer", "esri/geometry/Point",
"dojo/domReady!" ], function(Polyline, Graphic,
SpatialReference, SimpleLineSymbol, Color,
GraphicsLayer, Point) {
var polylineJson = {
"paths" : [ lineArr ],
"spatialReference" : {
"wkid" : 4326
}
};
var polyline = new Polyline(polylineJson);
var linesymbol = new SimpleLineSymbol(
SimpleLineSymbol.STYLE_SOLID,
new Color([0,255,0 ]),5);
var linegraphic = new Graphic(polyline, linesymbol);
polylineGraphicLayer.add(linegraphic)
tempObj[fileid]=linegraphic;
})
}
相關文章
- Redis刪除特定字首key的優雅實現Redis
- php(js)批量刪除/單個刪除PHPJS
- 運用sed命令高效地刪除檔案的特定行
- pandas.DataFrame讀取特定的列並刪除某列空值所在的行
- JS刪除陣列裡的某個元素方法JS陣列
- arcgis js:動態引入js、css依賴JSCSS
- vue.js單選全選刪除Vue.js
- js中dom節點刪除remove方法JSREM
- js動態新增、刪除table中的tr、td、inputJS
- ArcGIS填補面圖層的細小空白並刪除主體部分外的零散部分
- datatable.js之tab切換(新增,刪除)JS
- 原生js多選框選中排序及刪除JS排序
- linux的刪除檔案命令和強制刪除命令Linux
- whk我【資料刪除】你個【資料刪除】的
- JS陣列不新增重複值 & 刪除指定值JS陣列
- 6.12php對資料庫的刪除和批量刪除PHP資料庫
- mySql刪除多個表 刪除多個欄位的SQLMySql
- 工作293:調節刪除順序刪除
- JS模擬陣列操作(新增、刪除、插入、排序、反轉)JS陣列排序
- node.js,在Azure Cosmos DB中批次刪除資料Node.js
- (已刪除)
- JavaScript /JS 如何實現陣列的建立,增加,刪除,遍歷等操作???JavaScriptJS陣列
- Problem E: 向量的刪除
- anaconda的刪除與重灌
- Jupyter 刪除不用的kernel
- oracle rac 12徹底刪除,徹底刪除該死的racOracle
- mysql刪除主鍵索引,刪除索引語法MySql索引
- u盤裡的檔案無法刪除 如何刪除u盤裡刪不掉的檔案
- arcgis api for js回撥函式如何等待同步APIJS函式
- windows.old可以刪除嗎?windows.old檔案的刪除方法Windows
- WPF中的ListBox怎麼新增刪除按鈕並刪除所在行
- 又拍雲 Node.js 實現檔案上傳、刪除Node.js
- 原生js實現一個側滑刪除取消元件(item slide)JS元件IDE
- iOS 多選刪除(附tableViewTips及單選刪除)iOSView
- 級聯刪除
- Elasticsearch 刪除文件Elasticsearch
- JavaScript 刪除cookieJavaScriptCookie
- 修改刪除表