问题标签 [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.
map - OpenLayers 投影
我可以成功地做到:
到了谷歌格式(以米为单位)的一点,但是当我想做相反的事情时:
到了 4326(常规纬度/经度格式)的点,我遇到了一些问题。
当我进行转换时,任何负值似乎都会变成 NaN(不是数字)。反向转换有什么我不明白的吗?
编辑:更糟糕的是,当我没有负值时,坐标似乎关闭了。我通过在屏幕上绘制一个正方形来获取坐标,然后将这些坐标保存到数据库中并稍后加载它们。我可以在非洲尖端附近(正坐标)绘制一个正方形,然后加载它时,它位于非洲顶部附近,在大西洋中。我肯定做错了什么......
编辑:这是我的代码: http: //pastie.org/911524
具体来说:这是我初始化地图的方式:
routing - 交通网络应用程序 - 利用 google 或 bing map api
我有一个 MS SQL 数据库,其中包含一个存储地理编码的“PICKUP”位置的表,我最终可能会或可能不想显示,具体取决于用户选择的搜索过滤器。这些不像实体店位置那样是静态的。它们由应用程序用户全天 24 小时添加。“负载”的寿命少于 24 小时。一旦它被拾起,负载就会从桌子上移开。表中定义了“负载”,其中包含一些基本的人口统计详细信息以及特定的 LAT 和 LONG。
我计划使用 OpenStreetMaps 来提供我的基本地图以及我的州际/道路信息。我打算使用 OpenLayers 在我的网络应用程序中显示地图。
卡车司机通常将主要的州际公路称为“航运通道”。因此,我希望我的用户能够搜索将沿着他们将要旅行的“运输通道”的“负载”。例如,I-95。
因此,如果用户选择 I-95“Shipping Lane”作为搜索过滤器,我只希望地图显示满足以下条件的“LOADS”:
- “装载”沿定义的运输路线。
- “负载”位于航道的特定附近(例如,负载位于弗吉尼亚州里士满的 I-95 外 3 英里处)。理想情况下,这将基于实际的州际出口,而不仅仅是沿高速公路某处随机。
所有这些都让我想到了两个问题......
Q1:当用户向数据库发布“LOAD”时,如何将 LAT 和 LONG 从某物(?)中反弹,以确定它沿着哪些“运输通道”(可能不仅仅是取决于州际公路相互交叉的位置)?(这也可以在搜索时完成,但我认为提前定义它会节省处理,除非它不能这样做。)
Q2:我如何判断“装载”是否位于距离给定“航运车道”X 英里处?
javascript - 为多个标记打开图层多个鼠标悬停事件
我在函数 init(); 中有以下循环;执行“onload”,我为每个标记附加鼠标悬停事件时遇到问题,警报我总是返回最终循环/迭代的值(228)?
javascript - OpenLayers 地图中的更改投影
我想将“EPSG:4326”设置为 OpenLayers 地图的投影,但是当我尝试时,总是得到“EPSG:900913”。
底图是开放的街道地图。
如何将投影设置为 EPSG:4326?
flash - openlayers、SVG 和 flash 应用程序
我想在 html 页面中的 openlayers 切片上显示 SVG 图层(多边形),或者将我的 SVG 加载到 flash 中,并将 OL 切片也渲染到 flash 中。
这些想法中的任何一个/任何一个都可能吗?
提前致谢
javascript - 交互式世界地图,鼠标悬停时突出显示国家
我需要在网站的首页上创建一个交互式世界地图,查看门户大约为 650x200 像素。交互性将包括以下内容,将鼠标悬停在一个国家/地区将突出显示(例如,这些国家将用“红色”填充)该国家并显示国家/地区的名称(最好是 div 中的文本),我还将链接带有 a 的突出显示事件将在选择时突出显示一个国家/地区。
我很难找到合适的解决方案,我拒绝使用或学习闪存等专有技术,所以它不是一个选择。我使用 openlayers 和自定义地图图像创建了一个简单的模型,但国家的标记在 IE6 中加载速度太慢。
svg 似乎也太大了,因为我尝试使用 RaphaelJS,但是当我意识到世界地图数据是 1.2mb 时放弃了它,这对于网站的首页来说是完全不可接受的。
我真的不知道该怎么做,我最后的手段是手动创建 250 多个(无论有多少国家)png 并将鼠标悬停事件应用于图像中的热点......但这可能会也是一个死胡同..拼命寻求解决方案,任何有用的意见将不胜感激!
mapping - MapServer / OpenLayers 的好例子
我想说服一些客户使用 MapServer 和 OpenLayers。请任何人都可以推荐有吸引力的网站来展示可能性!
客户将印象深刻:
- 密度图(也称为热图、彩色网格覆盖、等高线图...)。
- 用户能够以某种格式(例如 netCDF)下载密度图的基础数据,仅限于正在查看的区域。
- 标准 OpenLayers 的东西。缩放、平移、比例尺、概览图...
- 不同的基础层。可能是 WMS、谷歌、必应……
- 搜索地名,地图被平移以显示该地点。
- 公开热图数据以供其他人在混搭中作为WMS或WCS使用
MapServer.org已备份,但 demo.mapserver.org 现在似乎已关闭 :( 但从记忆中,他们的示例没有“哇”的因素。OpenLayers 示例每个示例仅演示一两个功能 - 我想要一些东西通过在一个示例中展示所有功能来让客户惊叹。
PS如果您有使用其他一些开源工具的好示例,请务必发布它们。但请只使用 JavaScript:客户说没有富客户端。
编辑来吧 StackOverflow,有人必须有一个使用密度图的例子?我什至现在提供赏金...
javascript - 使用 JavaScript 在 OpenLayers 中绘制一条带线的路径
我已经看过这里介绍的如何画线的例子,但这些例子只显示了如何用鼠标点击。
我想要做的是使用 JavaScript 手动绘制线条,给出经度和纬度坐标列表。
我无法使用上面链接中提供的源的原因是因为他们只调用activate
该功能,然后让用户指向并单击地图。
有没有人以编程方式在 OpenLayers 地图上绘制路径?
我想要做的正是这个: http: //openspace.ordnancesurvey.co.uk/openspace/example4.html,但不使用 OpenSpace。
coding-style - OpenLayers 样式的问题
因此,厌倦了总是看到明亮的橙色默认正多边形,我正在尝试学习为 OpenLayers 设置样式。
我在以下方面取得了一些成功:
但是正因为我正在使用 DrawFeature 绘制我的多边形,我的样式只有在我完成绘制后才会生效,并且看到它从亮橙色变为灰色有点令人不安。所以,我了解了临时样式,并尝试了:
这给了我一个仍然是橙色的正方形——直到我停止绘画,它突然变成完全不透明的黑色。我想也许我必须明确设置 fillOpacity ......没有骰子。即使我将两种填充颜色分别更改为粉色和蓝色,我仍然只看到橙色和不透明的黑色。
我试过弄乱 StyleMaps,因为我读到如果你只将一种样式添加到样式映射中,它会为所有内容使用默认样式,包括临时样式。
这也让我得到了黑色不透明的正方形。(即使该图层样式在未提供给地图时也有效)。像这样将地图传递给图层本身:
根本没有给我任何东西。一路橙色,即使在绘制之后。
更成功:绘制时为橙色,绘制时带有黑色轮廓的半透明黑色。就像我没有使用地图时一样。问题是,仍然没有临时...
所以,我尝试以这种方式初始化我的地图:
没有不透明的正方形,但也没有临时的骰子……仍然是橙色到黑色透明。即使我制作了一个新样式(layer_style2),并将其临时设置为该样式,仍然没有运气。设置“选择”样式也没有运气。
我究竟做错了什么?临时 IS 用于样式化当前正在绘制的东西,对吗?是否有其他特定于 drawFeature 控制器的方法?
编辑:将 extendDefault 设置为 true 似乎也无济于事......
javascript - OpenLayers、Bing 和 KML
我正在尝试在 OpenLayers 中的 VirtualEarth 地图上放置 KML,但它不起作用。我想它必须与投影有关。
有人吗?!谢谢你。