首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将OpenLayers 3与Proj4js结合使用

如何将OpenLayers 3与Proj4js结合使用
EN

Stack Overflow用户
提问于 2015-03-13 07:56:32
回答 2查看 8.4K关注 0票数 2

在此之前,我正在进行一个地图查看器项目,并使用了openlayers 2。现在我必须使用OpenLayers 3,地图查看器应用程序应该支持许多不同的投影,因为我有来自不同来源和投影的wms和wfs层。我已经找到了使用openlayers2和proj4js的例子。但是我找不到使用ol3和proj4js的明确例子。你有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-16 10:14:14

有时,就像webpack在角2中使用OpenLayers 3和proj4一样,人们需要明确地告诉OL3在哪里可以找到它:

代码语言:javascript
复制
import * as proj4 from "proj4";
import * as ol from "openlayers";
...
ol.proj.setProj4(proj4);

如果一切正常,那么在定义一个投影之后,ol.proj.get应该返回它:

代码语言:javascript
复制
proj4.defs("EPSG:28992", "...");
if (!ol.proj.get('EPSG:28992')) {
    console.error("Failed to register projection in OpenLayers");
    ...
}
票数 11
EN

Stack Overflow用户

发布于 2015-03-17 13:06:56

此示例演示如何将proj4js与ol3:http://openlayers.org/en/v3.3.0/examples/wms-image-custom-proj.html一起使用。

基本上,在proj4js 3中使用OpenLayers 3是透明的。您需要首先在proj4js上抛出srs定义,然后可以立即使用投影:

代码语言:javascript
复制
proj4.defs("EPSG:21781","+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +towgs84=660.077,13.551,369.344,2.484,1.783,2.939,5.66 +units=m +no_defs");
var zurich = ol.proj.transform([8.55, 47.366667], 'EPSG:4326', 'EPSG:21781');
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29027295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档