问题标签 [openlayers-3]

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 投票
0 回答
474 浏览

javascript - Backbone + ol3:更改地图和firefox不起作用

我正在使用backbone.js,但我很难理解地理位置的使用。

我将尝试解释这个问题,因为该应用程序很大并且它有很多类并且很难理解:

我们有一个“A”视图类,它在 B 和 C 类之间切换视图。在 C 类中,我们可以设置另一个 D 或 E,最后一个类将我们的地图放在 1 属性中。

如您所见,我们有这棵树:

  • 一个看法)
  • >B
  • >C (查看)
  • >>D
  • >>E(视图,带有将存储 ol.map 对象的属性。)

好的,当我需要启动此引擎并在应用程序请求后选择地理位置时,问题就开始了。E类的顺序如下:

构造函数:定义地图,它可以是默认(OSM)或传输(传输层)。当我们创建对象时,只需一个字符串即可知道应用程序需要什么。

从理论上讲,它可以工作,但我有下一个问题: - 在 firefox 中不起作用,但在 chroimun 浏览器中工作正常...... - 如果我从 OSM “更改”为传输地图,我会删除属性中的所有数据和我再次加载它,甚至是地理定位,但它丢弃了我用作点标记的图像...... -如果我从运输地图返回到 OSM,我无法恢复点图像......

我不知道这个问题是否与ol3的异步调用和backbone.js的渲染功能有关,我不知道这里是否有人可以帮助我理解我做错了什么......

另外,如您所见,在 setCenter i 用户 2 vars(经度和纬度)中,我想第一次从地理定位跟踪中获取,我该怎么做?

这是一个很难的问题,但我真的需要一些ol社区的帮助,请我现在迷路了。

问候并提前感谢您!

0 投票
2 回答
10267 浏览

openlayers-3 - 如何让 openlayers 3 缩放控件显示在右侧?

默认情况下,openlayers 3 缩放控件位于左上角。我怎样才能把它移到右上角?进入选项时,API 似乎返回了一个断开的链接。

0 投票
5 回答
29665 浏览

javascript - OpenLayers 3矢量图层上所有特征的范围?

我有一个带有基础层和矢量图层的 OpenLayers 3 地图。

在用户交互时,我向矢量图层添加和删除几个特征。这是添加新功能的函数:

添加/删除新功能后,我想自动缩放和平移地图以适合我的功能。在旧的 OpenLayers API 中getDataExtent,矢量图层上有一个函数可以检索显示的所有特征周围的“边界框”。但我想知道如何使用新的 API 来做到这一点。

0 投票
1 回答
10440 浏览

javascript - OL3:按坐标从图层中获取特征

我想通过坐标获取图层的特征。此外,我想在弹出窗口中打开此功能,到目前为止我已经通过 onclick 事件解决了这个问题。但我想通过给出一个特征的坐标并打开该特征的弹出窗口来实现。

我有一个带有地图的图层和一个带有功能的图层:

我想在另一个 Javascript 函数中获得这一层的特性。

如何通过单击地图打开弹出窗口:

但是我不希望通过在地图上单击它来打开此功能,而是通过在文本字段中输入坐标并且地图会打开此弹出窗口,就像在 onclick 事件中一样。

0 投票
4 回答
10796 浏览

javascript - OL3:缩放到地图上的矢量图层

我有一张带有 openlayers 3 和矢量图层的地图。我想将映射调整为该矢量图层的大小,但到目前为止,我所能得到的只是将地图集中在该矢量的最后一个点上,因为在创建地图时无法访问矢量图层的点:

0 投票
3 回答
6313 浏览

javascript - 如何使用 openlayers 3 将图层上的所有功能序列化为 json

我想允许用户使用 openlayers 3 在地图上绘制多边形,然后当用户按下“保存”时,我想将多边形的 json 放入隐藏字段,以便可以将其发送回服务器并保存在数据库中。

我有绘制多边形工作的代码(如下),然后我编写了一个简单的测试函数,该函数在按下按钮时触发。getFeatures() 调用失败。在 firebug 中,控制台中显示的消息是“TypeError: vectorsource.getFeatures is not a function”。这是点击功能:

我正在使用的 openlayers 基础是

这是显示地图并允许用户绘制多边形的代码(它主要是从Open Layers 3 draw features example中的标准 openlayers 示例之一复制而来)。

0 投票
1 回答
432 浏览

javascript - 使用闭包设置 OL3

有人有关于如何使用 Closure 设置 Openlayers 3 的网站或教程吗?我现在尝试了几天,仍然不得不放弃。

您需要 Closure Library 来设置 Open Layers Library。

但是我该如何结合呢?目前我使用由 OpenLayers 构建的 ol.js 来完成它的工作,但在未来这可能不是正确的事情。

每个脚本的放置位置似乎很重要,但由于我在一个巨大的网站上使用它,使用 Java + Spring、IBATIS、postgreSQL 和 JAWR,因此在其中实现 Closure 和 Openlayers 相当复杂,而不仅仅是使用一个或两个 Javascript 库。

0 投票
1 回答
1254 浏览

javascript - Openlayers3 与自定义瓦片服务器

我对最新的 openlayers3 beta 有疑问。我正在尝试使用 xyz 图层的自定义切片服务器。问题是由于某种原因没有重新渲染瓷砖。使用萤火虫我可以看到瓷砖请求已发送并且图像已成功获取,尽管它们没有显示出来......但是一切都在chrome中工作。

0 投票
4 回答
26519 浏览

openlayers - Bounds 在 OpenLayers 3 中如何工作?

OpenLayers 2.x 中的OpenLayers.Bounds的概念是否仍然存在于 OpenLayers 3 中?它是如何变化的,它的新名称是什么?

0 投票
1 回答
1385 浏览

javascript - GeoServer,OpenLayers3 getGetFeatureInfo 跨站点(不同的方法)

我想我们都熟悉跨站点问题,但以防万一:我使用 OpenLayers3,端口 8080 上的 GeoServer 和端口 80 上的 Apache。我在地图上渲染了一些功能,单击时我想获取功能信息来自 WMS。我在 OpenLayers3 示例中找到了代码:

我当然得到: XMLHttpRequest cannot load localhost:8080/geoserver/Re... 。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'localhost' 不允许访问。

我在网上搜索并找到了不同的方法来处理这个问题。我在问我应该选择女巫的方式。已知的事实是:托管服务器将被拥有,Linux 或 Windows 未知(目前)。这也意味着我不知道是否会使用 apache 或 IIS,所以让我们保持打开状态。

我发现的选项是:

  • CORS
  • JSONP
  • apache上的代理
  • URL 重写 IIS 7

如果在 apache 或 IIS 上托管网站,我应该选择什么?我不是在寻找简单的方法,我在寻找正确的方法。