概述:

本节讲述如何在Ol3中加载wms图层并显示到地图中。

Ol3下载:

你可以在OL官网去下载,下载地址为http://openlayers.org/download/,也可以去我的百度云盘下载,下载地址为http://pan.baidu.com/s/1o6wwHTo。官网上的最新版本为3.6.0,我的网盘的版本为3.0.0,不过官网上的链接好像是失效的。

OL3必须资源引入:

OL3必须引入的资源有两个,一个为样式文件,ol.css;一个为js文件,ol.js。

OL3加载wms:

在Ol3中,可以通过两种方式加载WMS,一种是ol.layer.Image,其对应的资源为ol.source.ImageWMS,他它的定义方式为:

  1. var untiled = new ol.layer.Image({
  2. source: new ol.source.ImageWMS({
  3. ratio: 1,
  4. url: 'http://localhost:8081/geoserver/lzugis/wms',
  5. params: {'FORMAT': format,
  6. 'VERSION': '1.1.1',
  7. LAYERS: 'lzugis:province',
  8. STYLES: ''
  9. }
  10. })
  11. });

一种是ol.layer.Tile,其对应的资源为ol.source.TileWMS,它的定义方式为:

  1. var tiled = new ol.layer.Tile({
  2. visible: false,
  3. source: new ol.source.TileWMS({
  4. url: 'http://localhost:8080/geoserver/lzugis/wms',
  5. params: {'FORMAT': format,
  6. 'VERSION': '1.1.1',
  7. tiled: true,
  8. LAYERS: 'lzugis:province',
  9. STYLES: ''
  10. }
  11. })
  12. });

显示资源:

OL3中显示资源使用Map实现的,一个Map实例包括target,即地图展示的div的id;layers,地图要现实的图层集合;view,包括投影,中心点等信息,定义方式为:

  1. var map = new ol.Map({
  2. controls: ol.control.defaults({
  3. attribution: false
  4. }),
  5. target: 'map',
  6. layers: [
  7. untiled,
  8. tiled
  9. ],
  10. view: new ol.View({
  11. projection: projection,
  12. rotation: Math.PI / 6
  13. })
  14. });
  15. map.getView().fitExtent(bounds, map.getSize());

将上面的内容连起来,完整的代码如下:

    1. <html xmlns="http://www.w3.org/1999/xhtml">
    2. <head>
    3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    4. <title>Ol3 wms</title>
    5. <link rel="stylesheet" type="text/css" href="http://localhost/ol3/css/ol.css"/>
    6. <style type="text/css">
    7. body, #map {
    8. border: 0px;
    9. margin: 0px;
    10. padding: 0px;
    11. width: 100%;
    12. height: 100%;
    13. font-size: 13px;
    14. }
    15. </style>
    16. <script type="text/javascript" src="http://localhost/ol3/build/ol.js"></script>
    17. <script type="text/javascript" src="http://localhost/jquery/jquery-1.8.3.js"></script>
    18. <script type="text/javascript">
    19. function init(){
    20. var format = 'image/png';
    21. var bounds = [73.4510046356223, 18.1632471876417,
    22. 134.976797646506, 53.5319431522236];
    23. var untiled = new ol.layer.Image({
    24. source: new ol.source.ImageWMS({
    25. ratio: 1,
    26. url: 'http://localhost:8081/geoserver/lzugis/wms',
    27. params: {'FORMAT': format,
    28. 'VERSION': '1.1.1',
    29. LAYERS: 'lzugis:province',
    30. STYLES: ''
    31. }
    32. })
    33. });
    34. var tiled = new ol.layer.Tile({
    35. visible: false,
    36. source: new ol.source.TileWMS({
    37. url: 'http://localhost:8080/geoserver/lzugis/wms',
    38. params: {'FORMAT': format,
    39. 'VERSION': '1.1.1',
    40. tiled: true,
    41. LAYERS: 'lzugis:province',
    42. STYLES: ''
    43. }
    44. })
    45. });
    46. var projection = new ol.proj.Projection({
    47. code: 'EPSG:4326',
    48. units: 'degrees'
    49. });
    50. var map = new ol.Map({
    51. controls: ol.control.defaults({
    52. attribution: false
    53. }),
    54. target: 'map',
    55. layers: [
    56. untiled,
    57. tiled
    58. ],
    59. view: new ol.View({
    60. projection: projection,
    61. rotation: Math.PI / 6
    62. })
    63. });
    64. map.getView().fitExtent(bounds, map.getSize());
    65. }
    66. </script>
    67. </head>
    68. <body onLoad="init()">
    69. <div id="map">
    70. <div id="location"></div>
    71. </div>
    72. </body>
    73. </html>

(转) OpenLayers3基础教程——加载资源的更多相关文章

  1. 背水一战 Windows 10 (63) - 控件(WebView): 基础知识, 加载 html, http, https, ms-appx-web:///, embedded resource, ms-appdata:///, ms-local-stream://

    [源码下载] 背水一战 Windows 10 (63) - 控件(WebView): 基础知识, 加载 html, http, https, ms-appx-web:///, embedded res ...

  2. cocos2d-x addImageAsync()异步加载资源成功之后的场景跳转问题

    http://blog.csdn.net/w20175357/article/details/23546985 1.先说说addImageAsync()异步加载图片的问题 做游戏的时候现在资源的比较大 ...

  3. OpenLayers3基础教程——OL3基本概念

    从本节開始,我会陆陆续续的更新有关OL3的相关文章--OpenLayers3基础教程,欢迎大家关注我的博客,同一时候也希望我的博客可以给大家带来一点帮助. 概述: OpenLayers 3对OpenL ...

  4. (转)OpenLayers3基础教程——OL3基本概念

    http://blog.csdn.net/gisshixisheng/article/details/46756275 OpenLayers3基础教程——OL3基本概念 从本节开始,我会陆陆续续的更新 ...

  5. OpenLayers3基础教程——OL3 介绍control

    概述: 本文讲述的是Ol3中的control的介绍和应用. OL2和OL3 control比較: 相比較Ol2的control,OL3显得特别少,下图分别为Ol2和Ol3的control: Ol2的c ...

  6. OpenLayers3基础教程——OL3之Popup

    概述: 本节重点讲述OpenLayers3中Popup的调用时实现,OL3改用Overlay取代OL2的Popup功能. 接口简单介绍: overlay跟ol.control.Control一样,是一 ...

  7. Java加载资源文件几种方法

    from: http://andyzhu.blog.51cto.com/4386758/775836/ import java.net.URL; import org.springframework. ...

  8. Maven,预加载资源文件

    预加载资源文件需要先启用功能: <build> <resources> <resource> <directory>src/main/resources ...

  9. 【Unity3D】Unity3D之 Resources.Load 动态加载资源

    [Unity3D]Unity3D之 Resources.Load 动态加载资源 1.Resources.Load:使用这种方式加载资源,首先需要下Asset目录下创建一个名为Resources的文件夹 ...

随机推荐

  1. Maven学习总结(3)——使用Maven构建项目

    Maven学习总结(三)--使用Maven构建项目 maven作为一个高度自动化构建工具,本身提供了构建项目的功能,下面就来体验一下使用maven构建项目的过程. 一.构建Jave项目 1.1.创建J ...

  2. [poj2396]Buget[上下界可行流]

    题意:有一个n*m的方阵,里面的数字未知,但是我们知道如下约束条件:每一行的数字的和每一列的数字的和某些格子有特殊的大小约束,用大于号,小于号和等于号表示问:是否存在用正数填充这个方阵的方案,满足所有 ...

  3. Fedora15下安装Android开发环境

    Fedora15下安装Android开发环境需要以下步骤: 完整步骤. 1. 安装正确版本的JDK. 2. 安装Eclipse. 3.  安装ADT. 4.  安装Android SDK. 5.  安 ...

  4. GIT的API主要应用示例

    这几个简单的API应用,主要是通过TOKEN来获取GIT内空的例子. 但在获取GIT的文件列表时,要注意区分目录和文件的MODE差别( 100644 普通文件 040000 普通目录 ). impor ...

  5. js移除style属性

    这个属性是通过   div.style.color="red"   这种类似添加的,想要添加重置函数,使用div.removeAttribute("style" ...

  6. Android:创建ZeroMQ的客户端

    这里我们将给出一个subscribe模式的客户端示例程序,如下: private class ZeroMQMessageTask extends AsyncTask<String, Void, ...

  7. HDU 4405 Aeroplane chess (概率DP求期望)

    题意:有一个n个点的飞行棋,问从0点掷骰子(1~6)走到n点须要步数的期望 当中有m个跳跃a,b表示走到a点能够直接跳到b点. dp[ i ]表示从i点走到n点的期望,在正常情况下i点能够到走到i+1 ...

  8. cocos2d-x 3.7 win7 32+Android 环境配置

    之前用的cocos2d-x 2.2.6 版本号,近期换成了3.7.眼下的最新版.整个过程中也碰到了不少问题.如今已经成功移植到手机上了. 分享下整个过程,希望能帮到别人.(所需软件已打包) [下载软件 ...

  9. hdu1035 Robot Motion (DFS)

    Robot Motion Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tot ...

  10. 解析Qt元对象系统(五) Q_INVOKABLE与invokeMethod(automatic connection从Qt4.8开始的解释已经与之前不同,发送对象驻足于哪一个线程并不重要,起到决定作用的是接收者对象所驻足的线程以及发射信号(该信号与接受者连接)的线程是不是在同一个线程)good

    概述查看Qt源码可知,Q_INVOKABLE是个空宏,目的在于让moc识别. 使用Q_INVOKABLE来修饰成员函数,目的在于被修饰的成员函数能够被元对象系统所唤起. Q_INVOKABLE与QMe ...