Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript openlayers3移动功能,如果不低于3.14版本,则不起作用_Javascript_Dictionary_Gis_Openlayers 3 - Fatal编程技术网

Javascript openlayers3移动功能,如果不低于3.14版本,则不起作用

Javascript openlayers3移动功能,如果不低于3.14版本,则不起作用,javascript,dictionary,gis,openlayers-3,Javascript,Dictionary,Gis,Openlayers 3,我对版本3.14和更高版本的Openlayers3有问题此示例移动功能不起作用如果不低于3.14版本,我应该如何处理新版本 我试图在我的项目中移动circle类型的特征,我找到了一个如何做的示例,但不适用于最新版本的openlayers3 我希望你的帮助谢谢 var-map=新的ol.map({ 目标:“地图”, 图层:[新建ol.layer.Tile({//Capas 标题:“OSM”, 类型:'base', 可见:对, 来源:new ol.source.OSM() })], 视图:新ol.v

我对版本3.14和更高版本的Openlayers3有问题此示例移动功能不起作用如果不低于3.14版本,我应该如何处理新版本

我试图在我的项目中移动circle类型的特征,我找到了一个如何做的示例,但不适用于最新版本的openlayers3

我希望你的帮助谢谢

var-map=新的ol.map({
目标:“地图”,
图层:[新建ol.layer.Tile({//Capas
标题:“OSM”,
类型:'base',
可见:对,
来源:new ol.source.OSM()
})],
视图:新ol.view({
中心:[-9777389508721],
缩放:5
})
});
函数onDrawend(){
setTimeout(函数(){
setActiveEditing(true);
activeInteraction.setActive(false);
document.getElementById('draw')。value='select';
}, 200);
}
var vectorLayer=新ol.layer.Vector({
来源:new ol.source.Vector()
});
vectorLayer.setMap(map);
var pointInteraction=新建ol.interaction.Draw({
键入:“点”,
来源:vectorLayer.getSource()
});
pointInteraction.setActive(false);
点交互.on('draund',onDrawend);
var lineInteraction=新建ol.interaction.Draw({
键入:“LineString”,
来源:vectorLayer.getSource()
});
lineInteraction.setActive(false);
lineInteraction.on('draund',onDrawend);
var polygonInteraction=new ol.interaction.Draw({
键入:“多边形”,
来源:vectorLayer.getSource()
});
polygonInteraction.setActive(false);
在('draund',onDrawend')上的多功能交互;
var circleInteraction=新ol.interaction.Draw({
键入:“圆”,
来源:vectorLayer.getSource()
});
circleInteraction.setActive(假);
在('付款人',付款人')上循环交互;
var rectangleInteraction=新建ol.interaction.Draw({
键入:“LineString”,
源:vectorLayer.getSource(),
最大积分:2,
geometryFunction:函数(坐标、几何){
如果(!几何体){
几何=新的几何多边形(空);
}
var start=坐标[0];
var end=坐标[1];
geometry.setCoordinates([
[开始,[开始[0],结束[1]],结束,[结束[0],开始[1]],开始]
]);
返回几何;
}
});
rectangleInteraction.setActive(false);
矩形交互。在('draund',onDrawend)上;
var selectInteraction=新建ol.interaction.Select({
条件:ol.events.condition.click,
wrapX:错误
});
var modifyInteraction=新建ol.interaction.Modify({
功能:selectInteraction.getFeatures()
});
var translateInteraction=新建ol.interaction.Translate({
功能:selectInteraction.getFeatures()
});
var setActiveEditing=函数(活动){
选择interaction.getFeatures().clear();
选择Interaction.setActive(活动);
modifyInteraction.setActive(活动);
translateInteraction.setActive(活动);
};
setActiveEditing(true);
var snapInteraction=new ol.interaction.Snap({
来源:vectorLayer.getSource()
});
map.getInteractions().extend([
点交互、线交互、多点交互、,
圆形相互作用,矩形相互作用,
选择交互、修改交互、翻译交互、,
(),;
var-活性相互作用;
document.getElementById('draw').addEventListener('change',函数(e){
var值=e.目标值;
if(主动交互){
activeInteraction.setActive(false);
}
如果(值=‘点’){
主动交互=点交互;
}else if(值='line'){
activeInteraction=lineInteraction;
}else if(值=‘多边形’){
主动相互作用=多基因相互作用;
}如果为else(值=‘圆圈’){
主动交互=循环交互;
}else if(值=‘矩形’){
activeInteraction=矩形交互;
}否则{
activeInteraction=未定义;
}
setActiveEditing(!activeInteraction);
if(主动交互){
activeInteraction.setActive(true);
}
});
html,正文{
宽度:100%;
身高:100%;
保证金:0;
填充:0;
字体系列:“蒙特塞拉特”,Verdana,无衬线;
}
舱满{
宽度:100%;
身高:100%;
/*背景:url(“数据:image/png;base64,ivborw0kggoaaaansuheugaaabqaaaucamaaac6v+0/aaaagxrfwhrtb2z0d2fyzqbbzg9izsbwfnzvjlywcllpaaaaaazqtff7/r+////jvyfyf4gaaaaj0uk5t/wdltzbkaaaageleqvr42mjgwaoyqcjnwwwwh5upaimap2aauuwxchaaaelfqmuqmcc”)*/
}
.ol缩放a:悬停,
.ol缩放a:聚焦{
颜色:白色;
文字装饰:无;
};
#画{
位置:绝对位置;
顶部:10px;
右:45px;
填充:4px;
边界半径:4px;
}
#编辑{
位置:绝对位置;
顶部:10px;
}

选择以绘制…
指向
线
多边形
圆圈
矩形

您是否在Internet Explorer 9或更早版本的Android中看到此问题?如果是这样,则需要为
requestAnimationFrame
添加polyfill,如v3.14.0中所述

为了确保您拥有OpenLayers所需的一切,即使在旧浏览器中,您也应该在页面上包含以下多边形填充:

<!-- The line below is only needed for old environments like Internet Explorer and Android 4.x -->
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script>


以上片段摘自其中一个版本。

您是否在InternetExplorer9或更早版本的Android中看到此问题?如果是这样,则需要为
requestAnimationFrame
添加polyfill,如v3.14.0中所述

为了确保您拥有OpenLayers所需的一切,即使在旧浏览器中,您也应该在页面上包含以下多边形填充:

<!-- The line below is only needed for old environments like Internet Explorer and Android 4.x -->
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script>

上面的代码片段取自其中一个