问题标签 [openlayers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4625 浏览

javascript - 以编程方式旋转要素 Open Layers

TLDR我想在我的开放图层中旋转一个特征。
我希望它面对我从服务器接收到的某个标题。


我知道你可以在一个点上做一个特征旋转:

开放层示例中。

但我希望能够面对它给我的标题,所以。

  1. 我可以将一个特征朝向一个标题吗?
  2. 我可以以同样的方式面对特征(图像)吗?
  3. 如果不是,是否可以自动计算所需的旋转并以这种方式定位?
  4. 或者关于我如何用图像做到这一点的任何想法?(希望没有 360 度图像)

一个例子等将不胜感激。


到目前为止没有运气使用:

其中 origin 是图像对象的中心点。

任何想法代码方面?

0 投票
3 回答
6296 浏览

javascript - Openlayers - LayerRedraw() / 特征旋转 / 线串坐标

TLDR:我有一个 Openlayers 地图,其中有一个名为“track”的图层,我想删除轨道并重新添加轨道。或者弄清楚如何根据一组坐标和一个标题绘制一个三角形(见下文)。


我在加载时旋转到设置方向的图层上有一个图像“imageFeature” 。我希望它更新在名为'tracking'的图层上的'styleMap'中设置的旋转。

  1. 我将 var 'stylemap'设置为应用外部图像和旋转。
  2. 'imageFeature'被添加到指定坐标的图层中。
  3. 'imageFeature'被移除。
  4. 'imageFeature'再次添加到其新位置。不应用旋转..

由于“styleMap”适用于图层,我认为我必须删除该图层并再次添加它,而不仅仅是“imageFeature”

风格地图

现在包装在一个定时函数中 imageFeature

类型是指查找 3 个图像中的 1 个。

我试过'redraw()'函数:但它返回“跟踪未定义”或“map.layers [2]”未定义。

标题是一个变量:来自 JSON 提要。

但到目前为止,什么都做不了,它只会在加载时旋转图像。图像将按照应有的方式在坐标中移动。

那么我在重绘功能上做错了什么,或者我怎样才能让这个图像实时旋转?

提前致谢

-尾崎

补充:我设法得到

成功重绘第 2 层。但它仍然没有更新旋转。我在想,因为样式图正在更新。但它每隔 n 秒运行一次样式映射,但如果我在 firebug 中对其进行监视,则旋转没有更新,并且航向变量正在正确更新。


如果我要绘制一个带有点数组和线串的三角形。我将如何将三角形朝向标题。我有一点的 Lon/lat 和标题。

寻找解决此问题的任何方法 Image 或 Line 任何人都知道该怎么做,或者添加了100rep赏金,我真的很坚持。


添加和删​​除 imageFeature

0 投票
1 回答
7650 浏览

javascript - "Permission denied to access property 'href' from a non-chrome context" in JavaScript and OpenLayers

This is really two questions one leading into the other. Firstly what does 'Permission denied to access property 'href' from a non-chrome context' actually mean?

Secondly I am using overlays in OpenLayers and wish to change the opacity of said layers, this is where this error is being thrown the code of which is here...

Of which changeOpacity() is the following function...

which throws the error at "var href = originalElement.href;" here...

Any help/ideas is great appreciated! I am using firefox 3.5.9 and firebug 1.5.4

0 投票
1 回答
8928 浏览

openlayers - OpenLayers,图层:平铺与单个平铺

每次我们向基于OpenLayers的网站添加新层(数据主要由GeoServer服务器提供)时,我们都会讨论是使用单图块还是分块方法。

我们评估的一些参数如下:

使用平铺方法,我们得到:

  • 缓慢但持续地建立视口
  • 很多小图
  • 客户端缓存可能性
  • 阻塞加载管道(一次 6 个请求)
  • 在加载过程中导航时感觉生涩

使用单瓦片方法,我们得到:

  • 在加载过程中导航时感觉更流畅
  • 加载图层前的时间延迟
  • 每层一张大图
  • 没有缓存单个图块

我们在图层中有很多数据编辑,因此切片缓存可能效率不高。

在平铺方面是否有任何最佳实践?

朝着无限快的硬件无限的数据连接发展,讨论变得无关紧要,但您认为哪种配置最令用户满意

0 投票
2 回答
13240 浏览

javascript - 在 OpenLayers (KML) 网络链接自动刷新中刷新/重绘图层

TLDR我想在计时器上刷新一个图层,以便绘制新的 kml 数据(如更新链接/网络链接)


到目前为止,我已经尝试了如下操作功能:

设置函数的间隔:

图层本身:

带有数学随机的 KMLLAYER 的 url,因此它不会缓存:

我原以为这会刷新图层。通过将其加载为 false 卸载它。对 true 的可见性重新加载它并且使用 Math random 不应该允许它缓存?那么有没有人这样做过或者知道我怎样才能让它工作?

0 投票
2 回答
2594 浏览

javascript - 即使使用 mathrandom IE8 仍在缓存我的请求

即使 URL 中包含 Math.random(), TLDR IE 仍在缓存我的请求。


所以我在我的网址末尾添加了数学随机:

我还将数学随机添加到我的函数参数中:

因此请求显示为http://host/data/pattern?key=35678652545等。

每次发出请求时它都会更改。

它适用于 Firefox & Chrome & Safari 等。但 IE8 仍在缓存数据而不更新我的图层。

关于为什么会发生这种情况的任何想法?


所以我补充说:

仍在缓存数据。还有什么想法吗?

0 投票
1 回答
5111 浏览

internet-explorer - Extjs 工具提示、IFrame 和 IE => 问题

我有一个使用OpenLayers,Extjs和的应用程序GeoExt。我的应用程序运行良好,但我需要将它放在IFrame另一个页面中。这样做时,我的工具栏在Internet Explorer中变得无响应。

原因是Ext.QuickTips.init(); . 注释掉这一行,一切正常——当然除了快速提示=)

但为什么会引起问题?是因为我用错了,放错了地方,还是因为它不喜欢Internet ExplorerIFrames


链接

链接到 IFrame 页面

IFrame页面:

申请页面:

0 投票
1 回答
10005 浏览

django - 在 GeoDjango 的自定义视图中渲染 GeoQuerySet 的空间数据

我刚刚开始了我在 GeoDjango 上的第一个项目。

事实上,使用 GeoDjango 支持的 Admin 应用程序,我们都可以查看/编辑与当前对象关联的空间数据。

问题是,在填充对象后,我需要在一张地图上一次渲染多个对象的关联几何图形。我可能会将其实现为模型操作,重定向到自定义视图。我只是不知道,如何在视图中包含 OpenLayers 小部件以及如何从我的 GeoQuerySet 中渲染我的复合几何。

我将非常感谢经验丰富的 GeoDjango 程序员提供的任何提示。

0 投票
1 回答
507 浏览

openlayers - 概览地图控制配置

在我在 openlayers 中创建的地图中,OverviewMapControl 从缩放级别 0 到 3 基本上是无用的 - 红色的“范围”矩形只是填充了整个 OverviewMapControl,实际上不能用于拖动地图,而不是非常微小的数量。IE。无论缩放级别如何,可拖动矩形都不会调整大小。谁能帮我这个?

0 投票
2 回答
4292 浏览

javascript - [Javascript]从openlayers地图获取坐标

我会从 openlayers 地图中获取坐标。当我打开我的页面时,当我单击一个按钮时,我会收到左上角和右上角的坐标。

非常感谢。