Код: Выделить всё
Assertion failed: uid (145) of value ([object Object]) does not exist
Код: Выделить всё
Uncaught AssertionError: Assertion failed: featureKey exists in featureChangeKeys
Вот код:
Код: Выделить всё
var lineDraw;
var areaDraw;
var divMap = document.createElement("div");
var divMouse = document.createElement("div");
divMap.id = 'map';
divMouse.id="mouse-position";
document.body.appendChild(divMap);
document.body.appendChild(divMouse);
var btnClose = document.createElement("input");
var divBtnPan = document.createElement("div");
var divBtnLine = document.createElement("div");
var divBtnArea = document.createElement("div");
var divBtnErase = document.createElement("div");
var imgPan = document.createElement("img");
var imgLine = document.createElement("img");
var imgArea = document.createElement("img");
var imgErase = document.createElement("img");
imgPan.src = "css/img/pan.png";
imgPan.classList.add('imgPan');
imgPan.classList.add('active');
imgLine.src= "css/img/length-measure_8411.png";
imgLine.classList.add('imgLine');
imgArea.src= "css/img/area-measure_3056.png";
imgArea.classList.add('imgArea');
imgErase.src= "css/img/eraser.png";
imgErase.classList.add('imgErase');
divBtnPan.appendChild(imgPan);
divBtnLine.appendChild(imgLine);
divBtnArea.appendChild(imgArea);
divBtnErase.appendChild(imgErase);
divBtnPan.id = 'pan';
divBtnLine.id = 'line';
divBtnArea.id = 'area';
divBtnErase.id = 'erase';
btnClose.classList.add('btnClose');
btnClose.type = 'image';
btnClose.value = " ";
var name = event.target.parentNode.parentNode.firstChild.innerHTML;
layer_name = 'geoportal:' + name;
var format = "image/png";
var mousePositionControl = new ol.control.MousePosition({
coordinateFormat: ol.coordinate.createStringXY(2),
projection: 'EPSG:4326',
className: 'custom-mouse-position',
target: document.getElementById('mouse-position'),
undefinedHTML: ' '
});
var map = new ol.Map({
controls: ol.control.defaults({
attributionOptions:({
collapsible: false
})
}).extend([mousePositionControl,
new ol.control.OverviewMap()]),
layers: [
new ol.layer.Tile({source: new ol.source.OSM()}),
new ol.layer.Tile({
visible: true,
zIndex: 995,
source: new ol.source.TileWMS({
preload: Infinity,
url: 'http://192.168.255.197:8080/geoserver/geoportal/wms',
serverType: 'geoserver',
params: {'FORMAT': format,
'VERSION': '1.1.1',
'TILED': true,
LAYERS: layer_name,
STYLES: ''
}
})
})
],
view: new ol.View({
center: ol.proj.transform([55.75, 37.61], 'EPSG:4326', 'EPSG:3857'),
zoom: 2,
projection: 'EPSG:3857'
}),
target: 'map'
});
$('.ol-viewport').append(btnClose);
$('.ol-viewport').append(divBtnPan);
$('.ol-viewport').append(divBtnArea);
$('.ol-viewport').append(divBtnLine);
$('.ol-viewport').append(divBtnErase);
$('.ol-rotate').remove();
$('.ol-attribution').remove();
$('.btnClose')[0].remove();
$('.btnClose').on('click', closeMap);
$('.imgPan')[0].remove();
$('.imgPan').on('mouseover', changePanIcon);
$('.imgPan').on('mouseout', changePanIcon1);
$('.imgLine')[0].remove();
$('.imgLine').on('mouseover', changeLineIcon);
$('.imgLine').on('mouseout', changeLineIcon1);
$('.imgArea')[0].remove();
$('.imgArea').on('mouseover', changeAreaIcon);
$('.imgArea').on('mouseout', changeAreaIcon1);
$('.imgErase')[0].remove();
$('.imgErase').on('mouseover', changeEraseIcon);
$('.imgErase').on('mouseout', changeEraseIcon1);
var drawSource = new ol.source.Vector();
var drawLayer = new ol.layer.Vector({
zIndex: 999,
source:drawSource
});
var select = new ol.interaction.Select();
var erase = new ol.interaction.Select();
var lineDraw = new ol.interaction.Draw({
source: drawSource,
type: 'LineString'
});
var lineArea = new ol.interaction.Draw({
source: drawSource,
type: 'Polygon'
});
$('.imgPan').click(function(){
clearCustomInteraction();
$(this).addClass('active');
return false;
})
$('.imgLine').click(function(){
clearCustomInteraction();
$(this).addClass('active');
map.addInteraction(lineDraw);
lineDraw.on('drawEnd', function(e){
});
});
$('.imgArea').click(function(){
clearCustomInteraction();
$(this).addClass('active');
map.addInteraction(lineArea);
lineArea.on('drawEnd', function(e){
});
})
$('.imgErase').click(function(){
clearCustomInteraction();
$(this).addClass('active');
map.addInteraction(erase);
erase.getFeatures().on('change:length', function(e){
if(e.target.getArray().length !== 0){
drawLayer.getSource().removeFeature(e.target.item(0));
}
});
return false;
});
map.addLayer(drawLayer);
function clearCustomInteraction(){
$('.ol-viewport').find('img').removeClass('active');
changePanIcon1();
changeLineIcon1();
changeAreaIcon1();
changeEraseIcon1();
map.removeInteraction(lineDraw);
map.removeInteraction(lineArea);
}
}
function closeMap(){
$('#map').remove();
$('#mouse-position').remove();
}
function changePanIcon(){
$('.imgPan').attr('src', 'css/img/pan.png');
}
function changePanIcon1(){
if($('.imgPan').hasClass('active')){
$('.imgPan').attr('src', 'css/img/pan.png');
} else{
$('.imgPan').attr('src', 'css/img/pan+.png');
}
}
function changeLineIcon(){
$('.imgLine').attr('src', 'css/img/length-measure_8411.ico')
}
function changeLineIcon1(){
if($('.imgLine').hasClass('active')){
$('.imgLine').attr('src', 'css/img/length-measure_8411.ico');
} else{
$('.imgLine').attr('src', 'css/img/length-measure_8411.png');
}
}
function changeAreaIcon(){
$('.imgArea').attr('src', 'css/img/area-measure_3056.ico')
}
function changeAreaIcon1(){
if($('.imgArea').hasClass('active')){
$('.imgArea').attr('src', 'css/img/area-measure_3056.ico');
} else{
$('.imgArea').attr('src', 'css/img/area-measure_3056.png');
}
}
function changeEraseIcon(){
$('.imgErase').attr('src', 'css/img/eraser+.png')
}
function changeEraseIcon1(){
if($('.imgErase').hasClass('active')){
$('.imgErase').attr('src', 'css/img/eraser+.png');
} else{
$('.imgErase').attr('src', 'css/img/eraser.png');
}
}