问题标签 [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 投票
2 回答
4145 浏览

map - OpenLayers 投影

我可以成功地做到:

到了谷歌格式(以米为单位)的一点,但是当我想做相反的事情时:

到了 4326(常规纬度/经度格式)的点,我遇到了一些问题。

当我进行转换时,任何负值似乎都会变成 NaN(不是数字)。反向转换有什么我不明白的吗?

编辑:更糟糕的是,当我没有负值时,坐标似乎关闭了。我通过在屏幕上绘制一个正方形来获取坐标,然后将这些坐标保存到数据库中并稍后加载它们。我可以在非洲尖端附近(正坐标)绘制一个正方形,然后加载它时,它位于非洲顶部附近,在大西洋中。我肯定做错了什么......

编辑:这是我的代码: http: //pastie.org/911524

具体来说:这是我初始化地图的方式:

0 投票
1 回答
611 浏览

routing - 交通网络应用程序 - 利用 google 或 bing map api

我有一个 MS SQL 数据库,其中包含一个存储地理编码的“PICKUP”位置的表,我最终可能会或可能不想显示,具体取决于用户选择的搜索过滤器。这些不像实体店位置那样是静态的。它们由应用程序用户全天 24 小时添加。“负载”的寿命少于 24 小时。一旦它被拾起,负载就会从桌子上移开。表中定义了“负载”,其中包含一些基本的人口统计详细信息以及特定的 LAT 和 LONG。

我计划使用 OpenStreetMaps 来提供我的基本地图以及我的州际/道路信息。我打算使用 OpenLayers 在我的网络应用程序中显示地图。

卡车司机通常将主要的州际公路称为“航运通道”。因此,我希望我的用户能够搜索将沿着他们将要旅行的“运输通道”的“负载”。例如,I-95。

因此,如果用户选择 I-95“Shipping Lane”作为搜索过滤器,我只希望地图显示满足以下条件的“LOADS”:

  1. “装载”沿定义的运输路线。
  2. “负载”位于航道的特定附近(例如,负载位于弗吉尼亚州里士满的 I-95 外 3 英里处)。理想情况下,这将基于实际的州际出口,而不仅仅是沿高速公路某处随机。

所有这些都让我想到了两个问题......

Q1:当用户向数据库发布“LOAD”时,如何将 LAT 和 LONG 从某物(?)中反弹,以确定它沿着哪些“运输通道”(可能不仅仅是取决于州际公路相互交叉的位置)?(这也可以在搜索时完成,但我认为提前定义它会节省处理,除非它不能这样做。)

Q2:我如何判断“装载”是否位于距离给定“航运车道”X 英里处?

0 投票
1 回答
3336 浏览

javascript - 为多个标记打开图层多个鼠标悬停事件

我在函数 init(); 中有以下循环;执行“onload”,我为每个标记附加鼠标悬停事件时遇到问题,警报我总是返回最终循环/迭代的值(228)?

0 投票
4 回答
14071 浏览

javascript - OpenLayers 地图中的更改投影

我想将“EPSG:4326”设置为 OpenLayers 地图的投影,但是当我尝试时,总是得到“EPSG:900913”。

底图是开放的街道地图。

如何将投影设置为 EPSG:4326?

0 投票
2 回答
1438 浏览

flash - openlayers、SVG 和 flash 应用程序

我想在 html 页面中的 openlayers 切片上显示 SVG 图层(多边形),或者将我的 SVG 加载到 flash 中,并将 OL 切片也渲染到 flash 中。

这些想法中的任何一个/任何一个都可能吗?

提前致谢

0 投票
5 回答
18091 浏览

javascript - 交互式世界地图,鼠标悬停时突出显示国家

我需要在网站的首页上创建一个交互式世界地图,查看门户大约为 650x200 像素。交互性将包括以下内容,将鼠标悬停在一个国家/地区将突出显示(例如,这些国家将用“红色”填充)该国家并显示国家/地区的名称(最好是 div 中的文本),我还将链接带有 a 的突出显示事件将在选择时突出显示一个国家/地区。

我很难找到合适的解决方案,我拒绝使用或学习闪存等专有技术,所以它不是一个选择。我使用 openlayers 和自定义地图图像创建了一个简单的模型,但国家的标记在 IE6 中加载速度太慢。

svg 似乎也太大了,因为我尝试使用 RaphaelJS,但是当我意识到世界地图数据是 1.2mb 时放弃了它,这对于网站的首页来说是完全不可接受的。

我真的不知道该怎么做,我最后的手段是手动创建 250 多个(无论有多少国家)png 并将鼠标悬停事件应用于图像中的热点......但这可能会也是一个死胡同..拼命寻求解决方案,任何有用的意见将不胜感激!

0 投票
6 回答
33758 浏览

mapping - MapServer / OpenLayers 的好例子

我想说服一些客户使用 MapServer 和 OpenLayers。请任何人都可以推荐有吸引力的网站来展示可能性!

客户将印象深刻:

  • 密度图(也称为热图、彩色网格覆盖、等高线图...)。
  • 用户能够以某种格式(例如 netCDF)下载密度图的基础数据,仅限于正在查看的区域。
  • 标准 OpenLayers 的东西。缩放、平移、比例尺、概览图...
  • 不同的基础层。可能是 WMS、谷歌、必应……
  • 搜索地名,地图被平移以显示该地点。
  • 公开热图数据以供其他人在混搭中作为WMSWCS使用

MapServer.org已备份,但 demo.mapserver.org 现在似乎已关闭 :( 但从记忆中,他们的示例没有“哇”的因素。OpenLayers 示例每个示例仅演示一两个功能 - 我想要一些东西通过在一个示例中展示所有功能来让客户惊叹。

PS如果您有使用其他一些开源工具的好示例,请务必发布它们。但请只使用 JavaScript:客户说没有富客户端。

编辑来吧 StackOverflow,有人必须有一个使用密度图的例子?我什至现在提供赏金...

0 投票
3 回答
44790 浏览

javascript - 使用 JavaScript 在 OpenLayers 中绘制一条带线的路径

我已经看过这里介绍的如何画线的例子,但这些例子只显示了如何用鼠标点击。

我想要做的是使用 JavaScript 手动绘制线条,给出经度和纬度坐标列表

我无法使用上面链接中提供的源的原因是因为他们只调用activate该功能,然后让用户指向并单击地图。

有没有人以编程方式在 OpenLayers 地图上绘制路径?

我想要做的正是这个: http: //openspace.ordnancesurvey.co.uk/openspace/example4.html,但不使用 OpenSpace。

0 投票
2 回答
9299 浏览

coding-style - OpenLayers 样式的问题

因此,厌倦了总是看到明亮的橙色默认正多边形,我正在尝试学习为 OpenLayers 设置样式。

我在以下方面取得了一些成功:

但是正因为我正在使用 DrawFeature 绘制我的多边形,我的样式只有在我完成绘制后才会生效,并且看到它从亮橙色变为灰色有点令人不安。所以,我了解了临时样式,并尝试了:

这给了我一个仍然是橙色的正方形——直到我停止绘画,它突然变成完全不透明的黑色。我想也许我必须明确设置 fillOpacity ......没有骰子。即使我将两种填充颜色分别更改为粉色和蓝色,我仍然只看到橙色和不透明的黑色。

我试过弄乱 StyleMaps,因为我读到如果你只将一种样式添加到样式映射中,它会为所有内容使用默认样式,包括临时样式。

这也让我得到了黑色不透明的正方形。(即使该图层样式在未提供给地图时也有效)。像这样将地图传递给图层本身:

根本没有给我任何东西。一路橙色,即使在绘制之后。

更成功:绘制时为橙色,绘制时带有黑色轮廓的半透明黑色。就像我没有使用地图时一样。问题是,仍然没有临时...

所以,我尝试以这种方式初始化我的地图:

没有不透明的正方形,但也没有临时的骰子……仍然是橙色到黑色透明。即使我制作了一个新样式(layer_style2),并将其临时设置为该样式,仍然没有运气。设置“选择”样式也没有运气。

我究竟做错了什么?临时 IS 用于样式化当前正在绘制的东西,对吗?是否有其他特定于 drawFeature 控制器的方法?

编辑:将 extendDefault 设置为 true 似乎也无济于事......

0 投票
3 回答
5217 浏览

javascript - OpenLayers、Bing 和 KML

我正在尝试在 OpenLayers 中的 VirtualEarth 地图上放置 KML,但它不起作用。我想它必须与投影有关。

有人吗?!谢谢你。