openlayers标记上的简单鼠标悬停

这听起来很简单,但我找不到任何新手教程:有谁能给我一个简单的例子,我如何在OpenLayers中创建(vektor)标记,在mouseover上打开信息窗口,甚至在mouseout上关闭它 我找到了部分解释,但不是全部…听起来你想看看“OpenLayers.Popup() 本例显示了绘制多边形后的弹出窗口,然后单击它,但您应该能够将其更改为响应悬停。 您需要使用selectControl创建弹出窗口。要使其响应悬停,而不是在构造函数中单击“设置悬停:true”。有关如何执行此操作的简单示例,您需

OpenLayers 4-具有最大分辨率的ol.layer.Image的可见性等于贴图分辨率

我有下一个ol.layer.Image: 让wmsLayer=new ol.layer.Image({ 可见:对, source:new ol.source.ImageWMS(/*源的参数*/), 最小分辨率:0.2578032878762812, 最大分辨率:490.46408416878 }); 但当贴图分辨率等于图层maxResolution(490.46408416878)时,不会显示该图层 我可以在上看到,如果贴图分辨率严格小于maxResolution,则该层可见: ol.laye

Openlayers 根据浏览器窗口的大小调整导入的图层

在openlayers 4中 我有几个层wmts ign和一个从mapserver导入的层。 第一个选项适用于浏览器的大小,但只有在固定地图的宽度和高度时,才会显示地图服务器的大小。 css 如果我将贴图的宽度设置为768px,它就会出现,但如果我将其设置为900px,则不会出现 #map { Height: 100%; Width: 768px; } 层的调用是通过 var emprises_operations_inrap = new ol.layer.Image({ ti

Openlayers 修改事件时返回索引

我在开放层中有一个线串功能,并绘制两个点。当我单击并拖动以在两个现有点之间添加点时,是否会触发属性或事件来告诉我新点的索引 目前,我尝试了以下两项活动: session.Modify.on('modifystart', function (e) { console.log(e); }); session.Modify.on('modifyend', function (e) { console.log(e); }); 它们都返回新的坐标,但没有告诉我在索引0和1之间插入了什么

Openlayers ol.interaction.Select->;图标消失

我使用ol.interaction.Select,但当飞越功能时,我的图标消失 var selectPointerMove = new ol.interaction.Select({ condition: ol.events.condition.pointerMove, style: [] }); 我应该用什么样的风格来保持我的基本图标 感谢您的帮助只需从上述代码中删除样式:[,或创建样式对象即可 如果您看到ol.interaction的文档,请选择 它清楚地表

Openlayers的问题

我正在开发一个基于Openlayers的应用程序。它基本上是渲染图像,用户可以通过鼠标点击在图像上绘制几何特征,如直线、多边形等 我必须实现一个功能,用户可以通过移动滑块来改变图像亮度 我遵循链接。我已经将我的像素操作代码放在“updateBrightness”方法中,如链接所示 imageLayer.on('postcompose', (event) => { this.updateBrightness(this.currentBrightness, event.contex

Openlayers 如何将标记添加到打开的图层地图?

我想显示地图到我的网站使用OpenStreetMap使用图书馆开放层。 当我想添加标记时,我想添加一个标记,但该标记不会显示在地图上 我在谷歌上搜索过,在我的代码下面找到了一个代码。 有很多例子可以添加标记,但它在谷歌地图中占主导地位,我想使用开源地图 <!doctype html> <html lang="en"> <head> <link rel="stylesheet" href="https://cdn.rawgit.co

如何在Openlayers 6中自动调整形状字体的大小?

我使用Openlayers来绘制角色和形状 我想根据形状的大小动态更改字符大小 function setStyle(feature: RenderFeature | Feature<any>, resolution: number): void | Style | Style[] { const props: IProps = feature.getProperties() const options: IStyleOptions = this.styleOptions(pr

OpenLayers 4.0将世界海洋基地地图ArcGIS重新投影到EPSG 3408

我需要将geojson文件中投影为NSIDC ease Grid North/South或WGS84-NSIDC海冰极地立体图North/South的图层添加到我的地图中。该地图是Esri的海洋底图 实际地图对此链接可见,供您参考。现在,地图使用EPSG:3857投影进行投影,但我应该将其更改为上面的投影之一,以便正确显示我必须添加的图层 根据OpenLayers 4中的文档,我尝试在执行重投影命令之前创建一个简单的html文档。在处理极轴图层时,我实际上应该添加在一个地图投影到另一个地图投影之

openlayers缩放级别图像

当你看一个没有包含baselayer图像的缩放级别(可能在12.level之后,我们没有图层)时,有没有办法添加一个透明的徽标 我使用的是openlayers,arcgis cahce 感谢您的回复我不确定是否了解您的需求,但: 如果您希望在特定缩放后添加徽标,则可以创建一个仅在给定缩放中显示嵌入图像的图层。一些WMS层应该可以做到这一点 如果你这样做是因为在12级之后你没有什么可显示的,那么你应该将你的缩放限制在一定的范围内。hi 我找到了openlayers的解决方案 OpenLayers.

是否可以单独拖动OpenLayers.Layer.Image

我有一个来自OpenLayers.Layer.Image类的带有几个图层的地图。我想知道是否可以分别在每个图像/层上启用拖动。与类似,您可以单独拖动每个功能 谢谢 是的,请参见[1]。 您只需向地图添加一个DragPan控件(默认情况下有一个) 嗯, 1-我认为用图像层来实现这一点是错误的。层不应相对于其他图像/层移动。我建议你把可移动的图像画成特征。功能设计为可以拖动 这是什么类型的图像,为什么要拖动它们?对不起,我的问题不是很清楚。。我希望能够单独拖动我的图像/层,这样,如果我拖动一层,其他

如何在openlayers中将缩放级别限制为整数

我正在开发谷歌地图和openlayers 4之间的集成。我把我的工作建立在这个基础上 我的问题是,在ol 3和ol 4.4.2之间的某个地方,change:resolution事件的行为发生了变化。在此代码之前 view.on('change:resolution', () => { console.log(view.getZoom()) }) 每次鼠标滚轮旋转仅调用一次并记录(例如): 现在它产生了这样的东西: 4.017277252772164 4.08563754449

Openlayers 检查坐标是否位于OL中特征的边界上

我正在使用OpenLayers 5,无法找到一个解决方案来检查给定的坐标是否位于特征的边界上 我使用了map.getFeaturesAtPixel和geometry.intersectsCoordinate,但始终存在一个问题,即如果坐标在特征中,函数也会返回true。我只希望结果是真的,如果坐标在特征的边界上 背景:用户可以在地图上画线并将其与其他功能连接起来(因此我使用ol.interaction.Snap)。当保存时,我想拥有用户“抓拍”的功能。我找不到一个事件或其他东西来告诉我在哪里捕捉

OpenLayers 6-自定义标记不显示

我创建了一张地图并放置了一个标记。我唯一可以使用的标记是从OpenLayers托管的标记。我在“img/marker.png”中有自己的标记,但它不显示?有什么想法吗?我尝试将其移动到根文件夹并使用“/img/marker”,但没有成功 import 'ol/ol.css'; import {Map, View} from 'ol'; import TileLayer from 'ol/layer/Tile'; import OSM from 'ol/source/OSM'; import {f

OpenLayers计算两个坐标之间的距离给出了错误的答案

我有一个GPX文件,我试图用下面的函数计算两点之间的总距离 import { LineString } from 'ol/geom' getDistance(previous, next){ const coords = [ previous, next ] const line = new LineString(coords); return line.getLength(); }, 我知道getLength()应该以米为单位返回,但我得到的是一些非常小的数字,当我添加所

如何在OpenLayers中将onClick转换为hover

我在我的项目中使用OpenLayers map,我在地图上显示项目列表。每当用户单击项目(功能)时,项目描述将弹出而不是单击,我想转换为悬停。要在需要修改的地方执行此操作?我不确定您需要在哪里修改,因为您没有提供代码。然而,下面是一个取自OpenLayers示例的片段 因此,我冒昧地猜测,您只需将行hover:true添加到SelectFeature配置中,即可完全选择,您可以删除行highlightOnly:true或将其更改为false。此外,您的报告功能将具有用于显示弹出窗口的代码 同样,

Openlayers 不通过WFS-T将数据从Ext.data.Store保存到Postgres数据库

本教程介绍的通过web浏览器编辑空间数据的技术非常简单: Ext、GeoExt、OpenLayers-Geoserver和WFS-T完成了所有肮脏的工作,您不必在服务器端编写任何代码。所有对数据库的更新、插入和删除查询都是通过WFS-T完成的 非空间数据是否有类似的功能?什么能像WFS-T一样处理存储到数据库的通信?上述解决方案也适用于非空间数据,但我希望避免一直使用geoserver:有许多工具可用于将数据加载到PostGIS中 中的实用程序是命令行实用程序 是一个桌面GIS客户端,可以在P

Openlayers 如何使用任何第三方工具(java/C#/javascript)将Epanet.inp文件转换为shape文件?

我想将EPANET.inp文件转换为不同的形状文件(例如,单个EPANET.inp文件可能包含接头、蓄水池、水箱等,因此我需要不同的形状文件)。我该怎么做?是否有任何第三方开源代码可用?任何帮助/建议都会对我有帮助 提前感谢。Inptools包的inp2shp命令将EPANET.inp文件转换为不同网络元素的单独形状文件。它是开源(GPL)和跨平台的。请看一看Inptools包的inp2shp命令,该命令将EPANET.inp文件转换为不同网络元素的单独形状文件。它是开源(GPL)和跨平台的。查

OpenLayers矢量图层功能中的按属性样式存在问题

我试图使用${iconURL}样式属性来确定将在矢量图层要素上显示的图标。该图标不显示 我的图层初始化代码是: var s = { externalGraphic: "imgs/pp/${iconURL}", graphicWidth: 20, graphicHeight: 20, pointRadius: 20, fillOpacity: .2, }; this.vectorLayer = new OpenLayers.Layer.Vector("vec

OpenLayers 3(3.3.0)一次选择一个功能

使用openlayer 3.3.0,我们将地图分为几个县,每个县都是一个“特征”,我想选择一个特征并更改其边界颜色,当我选择另一个特征时,我想将先前选择的特征恢复为其原始样式,并将新特征应用于所选样式 所以我用这个来添加交互 var select = new ol.interaction.Select({ condition: ol.events.condition.click, }); select.on('select', function(evt)

Openlayers 结合WMT和wms

我想把WMS和WMTS结合起来。我在奥兰多工作 3.10.1. 单独或仅合并WMS应用程序中的服务没有问题。WMTS服务在我的OL3应用程序中单独正常工作 但是,当我向WMTS添加WMS时,OL3会生成WMS GetMap请求,请求的值为&SRS=EPSG%3A3857&,尽管我的所有服务都基于EPSG 25832(WMTS也是)。WMS响应包含ServiceException代码InvalidSRS。当我复制wms getmap请求并将3857替换为25832时,响应是正确的映射 在我的OL3

Openlayers 3文档

在哪里可以找到有关OpenLayers的实际有用信息?我正在尝试将OpenLayers 1应用程序转换为OL3,但文档似乎不存在,或者是一个非常简单的示例,无法帮助我解决问题。你看过OpenLayers 3的网站吗 在那里,你会发现,a和a。我最近也刚开始学习OpenLayers,花了相当多的时间寻找额外的资源和示例,特别是因为使用示例进行实验是我学习得最好的方式 这是一本叫做“OpenLayers 3之书”的书。不知道为什么,但是你可以通过这个链接免费查看整本书(6月15日和16日确认) 我也

将版权信息文本直接打印到OpenLayers画布中

我需要在我的openlayers地图中添加一些版权信息文本。该网站提供了一个按钮,以类似的方式将地图导出为PNG,如所示,版权文本也必须位于导出的PNG地图上 因此,我不能对版权文本使用html覆盖,但必须将文本直接打印到画布中,因为“将地图导出到PNG”功能只用于导出画布中的内容(没有html控件或html覆盖) 我尝试了两种方法。两者都不起作用;) 使用ol.source.ImageCanvas,如图所示。问题是当放大或缩小时,文本会跳跃。但是文本应该是静态的 在OpenLayers初始化后

向Openlayers发送空矢量平铺的Geoserver

我已经使用Postgres/PostGIS数据存储设置了一个geoserver,并启用了geoserver矢量文件插件。在geoserver中加载图层后,可以使用geoserver portal提供的Openlayers界面查看地图。在这之后,我一直在尝试使用Openlayers在前端渲染这些瓷砖,遵循教程 对于教程中给出的示例世界地图数据,代码的工作方式与charm类似,但在尝试渲染Postgres数据存储中的任何其他地图层时,它显示为空白 我的数据仅限于一个小区域(印度),而不是全世界,并使

arcmap 10.6形状文件不显示在OpenLayers 4.6.5中

我已经使用Geoserver 10年了 升级到ArcMap 10.6后,我发现当我导出到shapefile时, 我的功能不再显示在带有投影EPSG:900913的OpenLayers 4.6.5中。它确实显示在GeoServer 10.13.0 OpenLayers预览中,带有其本机EPSG:2249投影 我不知道这是否重要,但当我在旧的和新的shapefile上使用shp2pgsql时,.sql文件的不同之处在于“shape_leng”,“shape_区域”消失了 发件人:'7.3432620

Openlayers 矢量层don';t切换visibity,始终打开

我有一个矢量层,其中一些点由用户生成,配置如下: var sourcePoint=new VectorSource(); var vectorPoint=新矢量层({ 资料来源:sourcePoint, 风格:新风格({ 填充:新填充({ 颜色:“rgba(0,0,0,0.2)” }), 图片:新圆环样式({ 半径:7, 填充:新填充({ 颜色:“#32ff32” }) }) }), zIndex:99, 名称:“矢量点”, 可见:假 }); 当地图页面打开时,它将加载用户数据并填充到sou

Openlayers 从开放层中的现有线路获取坐标

我对打开图层很陌生,但在以下方面的帮助下,我在绘制线条和多边形方面取得了成功: 我想知道如何从向量中得到经度和纬度? 我在这里看到一个解释: 但我是新来的 有人能帮我写代码或提供一个例子吗 编辑: 这是解决办法 function lineAdded(feature) { var nodes = feature.geometry.getVertices(); for (var i=0; i<nodes.length; i++) { var lon = nodes[i

Openlayers 当前视图的动态标记信息的外部列表

我试图弄清楚如何使用openlayers在单独的div中以列表的形式显示动态标记,但是我希望只显示在当前视图中看到的标记。这意味着,每当移动地图时,标记信息列表都会更改。有人对实现这一目标有什么建议吗?我还在学习openlayers,所以如果这个问题的答案显而易见,我很抱歉。提前感谢。您可以注册地图的moveend事件,并使用onScreen()方法检查显示的功能 var-map=newopenlayer.map(…); var layer=新的OpenLayers.layer.Vector(…

从OpenLayers.Layer.Vector对象检索GeoJson属性

查看dev.openlayers.org/apidocs/files/openlayers/Layer/Vector-js.htm后,不清楚如何使用以下javascript从下面的geojson示例中提取属性值: { "type": "FeatureCollection", "features": [ { "type": "Feature", "geometry": { "type": "MultiPoint",

Openlayers-带LineString的SelectFeature不起作用

以下问题: 我使用矢量层中的OpenLayers.Geometry.LineString绘制了一条线。使用Openlayer SelectFeature,我想选择这一行。但这只可能发生在起点和终点。这是openlayer源代码中的一个bug吗 这是我的例子:点击蓝色粗线不起作用 <html> <head> <title>OpenLayers Example</title> <script src="ht

Openlayers 如何替换geoext.form.formpanel‏‏;

我一直在为这个挠头,我想知道这是否可能。我想用以下方式替换GeoExt.form.FormPanel的协议: 为了呈现formpanel,我在formpanel外部定义了一个变量“proto”为null(var proto=null) 然后“proto”进入formpanel(协议:proto) 在按钮的处理函数中定义了一个新变量“proto”。我想在formpanel中替换这个新变量 由于extjs、geoext和openlayers都是javascript库,所以我尝试过使用“eval”等方

Openlayers 如何在地图上创建水平工具栏?

我想将OpenLayers.Control.Button放入水平工具栏(OpenLayers.Control.Panel),但现在按钮是垂直样式的。请参阅以下JSFIDLE: 提前谢谢你!代码如下: HTML: CSS 添加浮动:左 .firstItemInactive,.secondItemInactive { background: #ff0000; border: 2px solid #075f67; width: 18px; height: 18px;

OpenLayers:创建按钮以选中/取消选中所有层

是否有人创建了openlayer地图,或者知道如何创建一个带有选中/取消选中所有覆盖的按钮的openlayer地图 我有一个带有多个覆盖层的地图,这会让用户更容易一次取消选中所有图层 感谢您通过按钮回拨呼叫hidealoverlays和showAllOverlays // UNTESTED function setAllOverlaysVisibility(map, status) { var layers = map.layers; for (var i = 0; i<lay

Openlayers 在哪里可以找到osm的geoserver样式?

我正在尝试使用openlayers和geo server运行脱机地图,我已将osm数据导入geo server,其中包含: 行星线 行星点 行星osm多边形 行星路 从预览层我可以成功地看到地图;问题是: 1.我的伊朗多边形没有2个状态 2.我如何才能找到一个好的sld样式,使我的地图看起来像原来的openstreetmap这篇文章中的答案可能会对你有所帮助。请注意,OSM不使用SLD,所以您永远不会得到完全相同的。谢谢,我以前看过这个链接,但还不够好:嗯,OSM不使用SLD。所以,我想你必须自

Openlayers 如何将openlayer 2标记更改为openlayer 3

openlayer 2的工作代码 需要-new ol.Map而不是new OpenLayers.Map获取完整代码 我正在尝试使用openlayer 3来转换它。但是有很多变化,openlayer 3中没有标记。。任何人都可以建议如何更改这个工作示例(例如ol.Style.Icon) 下面是代码 函数更新(f){ f、 style.externalGraphic=“marker.png”; 矢量特征(f); } 选项={ 分区:“地图”, 缩放:2, 中间:[0,0], 图层:[ 新的Open

为什么ol.proj.transform函数在openlayers3中不起作用

我在openLayers3中遇到问题 它的函数名为“ol.proj.transform” 我想从“EPSG:5186”坐标更改为“EPSG:4326”坐标 var lonlat1 = ol.proj.transform([111111.1111,222222.2222222],'EPSG:5186','EPSG:4326'); console.log(lonlat1); lonlat1值为[111111.111122222.2222222] ol.proj.transform不工作 为什么函

Openlayers 显示地图特定区域内的平铺层

如何显示地图特定区域内的平铺层?尝试使用“扩展”选项,但对我无效 我就是这样做的: var polygon = rm.getCurrentRegion().getData().polygon; //get a polygon var extent = new ol.geom.Polygon([polygon]).getExtent(); //convert it to an extent let newLayer = new CommonMap.TileLayer({ t

openlayers ol ext如何排除变换上的功能

我有一个绘图工具,它使用ol-ext的转换交互。有没有办法从转换中排除某些形状?例如,我想排除转换线字符串 transformInteraction = new interaction.Transform({ features: this.props.drawnShapes, // null at initialization layers: map.getLayers().getArray().filter(l => l.get("transfor

Openlayers ol.tilegrid.WMTS.WMTSTileGrid不是构造函数

所有示例OL5都适用于NodeJS 对于浏览器代码,我从“ol/source/OSM.js”转换导入OSM;到ol.source.OSM,从“ol/source/WMTS.js”导入WMT;至ol.source.WMTS等 但是创建WMTSTileGrid对象不起作用 我知道-新建ol.tilegrid.WMTS.WMTSTileGrid。。。。 但是浏览器说 TypeError: ol.tilegrid.WMTS.WMTSTileGrid is not a constructor 如何创建W

Openlayers:确定是否设置了预合成处理程序

我需要确定是否在层上设置了预合成回调: var layer = new ol.layer.Vector({ renderMode: "image" }); 后来我添加了一个预合成处理程序 layer.on("precompose", function(event) { //Some clipping is applied here }); 如何确定层是否具有预合成处理程序,例如layer.hasprecompose 我使用的是Openlayers 5.20如果您已经设置了类似prec

是否有机会将拖动贴图方向键(Alt+;Shift+;drag)更改为Ctrl+;在openlayers 5中拖动(键绑定)

在我的应用程序中,我使用angular 6和openlayers V5 我对这个openlayers很新 我已经做了方向,能够设置视图方向(输入客户的选择) 我使用Ctrl+drag(而不是Alt+Shift+drag)在地图方向上拖动更改 例如 map-component.ts 请检查以上代码以及如何更改旋转贴图拖动旋转键的默认控件 请节省我的时间 提前谢谢 试试这个: this.map = new OlMap({ target: 'map', layers: [this.la

Openlayers 使用OpenLayer进行反向地理编码的简单方法

我想做一个简单的应用程序来获取给定纬度和经度的地址,只需进行反向地理编码。为此,我想使用OpenLayers 那么,我该怎么做呢 我也知道如何使用Bing和Google地图进行反向地理编码。 如果通过OpenLayers进行反向地理编码有困难,请建议其他方法。OpenLayers不允许这样做,您需要一个包含所有街道名称的数据库等等。。。 OpenLayers可用于在浏览器中的地图上的给定位置显示某些内容(标记)。如果地图图像包含街道名称,这可能会有所帮助,但您不会将其作为文本获取,街道名称将作为

Openlayers 添加eventListeners会使我的geoserver应用程序停止工作

我正在尝试将OpenLayers.Control.WMSGetFeatureInfo与OpenLayers.Popup.FramedCloud结合使用,以从我的地理服务器检索信息并在弹出窗口中显示它们。 这是我的代码: var map,wms,point; function load() { map = new OpenLayers.Map('map',{}); wms = new OpenLayers.Layer.WMS( "OpenLayer

Openlayers 尝试访问光栅像素值时返回奇怪错误

我试图通过OpenLayers getFeatureInfoUrl()从webapp通过MapServer访问像素的值。服务器以 msWMSFeatureInfo():WMS服务器错误。无效的I/J值 我曾尝试在谷歌上搜索,但无法找到任何线索,说明我的请求可能会导致什么问题,只是I/J值指的是鼠标点击的坐标,因此问题可能源于evt.coordinate: var vs = this.wmsLayer mapol.on('singleclick', function(evt) { docume

Openlayers 打开图层3工具提示块操作

我正在使用ol.geom.Polygon对象来绘制多边形,我已经添加了一个工具提示来显示这样绘制的面积 if (geom instanceof ol.geom.Polygon) { MapValues.polyAcres = MapService.formatArea(geom); tooltipCoord = geom.getInterior

Openlayers 为什么缩放级别返回十进制?

我在我的项目中使用openlayers 6。 地图上的图层根据缩放级别隐藏/显示 以下是地图和视图防御: view=新视图({ 中心:地图中心, 投影:israeliTM.getCode(), 缩放:0, 分辨率:分辨率//分辨率数组 }); 地图=新地图({ 层:层, 目标:“地图”, 视图:视图 }); 更改缩放时激发此行: var curRes=map.getView().getResolution()[map.getView().getZoom()]; 正如您在视图中所看到的,定义为

Openlayers Map.ForEachLayerPixel回调函数具有空rgba数组

使用其中一个示例中的一些代码,每当我在特定层的不透明部分上悬停时,我都会尝试更改指针表示 映射。在“pointermove”上,函数EVT{ 如果evt正在拖动{ 回来 } var pixel=map.getEventPixelevt.originalEvent; var hit=map.forEachLayerAtPixelpixel,functionlayer,rgba{ 返回rgba[3]==0; }, { 'layerFilter':函数层{返回层==aisLayer;} }; map.

上一页 1 2  3   4   5   6    7   8   9  ... 下一页 最后一页 共 26 页