openlayers3入门教程
摘要
       OpenLayers 3对OpenLayers网络地图库进行了根本的重新设计。版本2虽然被广泛使用,但从JavaScript开发的早期发展阶段开始,已日益现实出它的落后。 OL3已运用现代的设计模式从底层重写。
       最初的版本旨在支持第2版提供的功能,提供大量商业或免费的瓦片资源以及最流行的开源矢量数据格式。与版本2一样,数据可以被任意投影。最初的版本还增加了一些额外的功能,如能够方便地旋转地图以及显示地图动画。
       OpenLayers 3同时设计了一些主要的新功能,如显示三维地图,或使用WebGL快速显示大型矢量数据集,这些功能将在以后的版本中加入。
为了看清楚OpenLayers的Layer结构体系,先看下面的UML图。
  1. <script type="text/javascript">
  2. window.onload = function () {
  3. //实例化map对象并加载地图
  4. var map = new ol.Map({
  5. //存放地图目标容器
  6. target: 'map',
  7. //加载图层
  8. layers: [
  9. //新建一个瓦片地图图层
  10. new ol.layer.Tile({
  11. //瓦片地图数据源
  12. source: new ol.source.OSM()
  13. })
  14. ],
  15. //初始化视图
  16. view: new ol.View({
  17. //视图中心点坐标
  18. center: [12550000, 3680000],
  19. //缩放等级
  20. zoom: 8,
  21. //最小缩放等级
  22. minZoom: 6,
  23. //最大缩放等级
  24. maxZoom: 12,
  25. //地图旋转30度
  26. rotation: Math.PI/6
  27. })
  28. });
  29. //获取地图的初始化信息
  30. var view = map.getView();
  31. var zoom = view.getZoom();
  32. var center = view.getCenter();
  33. var rotation = view.getRotation();
  34. //地图缩小
  35. document.getElementById("zoom-out").onclick = function () {
  36. //获取地图当前视图
  37. var view = map.getView();
  38. //获取地图当前缩放等级
  39. var zoom = view.getZoom();
  40. //每单击一次地图的缩放等级减一,以实现地图缩小
  41. view.setZoom(zoom - 1);
  42. };
  43. //地图放大
  44. document.getElementById("zoom-in").onclick = function () {
  45. //获取地图当前视图
  46. var view = map.getView();
  47. //获取地图当前缩放等级
  48. var zoom = view.getZoom();
  49. //每单击一次地图的缩放等级加一,以实现地图放大
  50. view.setZoom(zoom + 1);
  51. };
  52. //地图平移
  53. document.getElementById("panto").onclick = function () {
  54. //获取地图当前视图
  55. var view = map.getView();
  56. //指定要平移到的位置的坐标
  57. var position = ol.proj.fromLonLat([115.2341, 32.4652]);
  58. //重设地图中心点,实现平移
  59. view.setCenter(position);
  60. };
  61. //地图重置
  62. document.getElementById("restore").onclick = function () {
  63. //重置中心点位置为初始化位置
  64. view.setCenter(center);
  65. //重置旋转角度为初始化角度
  66. view.setRotation(rotation);
  67. //重置缩放等级为初始化缩放等级
  68. view.setZoom(zoom);
  69. };
  70. }
  71. 为地图添加弹出框(完整代码详见:http://blog.csdn.net/qingyafan/article/details/44415631
  72. /**
  73. * Add a click handler to the map to render the popup.
  74. */
  75. map.addEventListener('click', function(evt) {
  76. var coordinate = evt.coordinate;
  77. var hdms = ol.coordinate.toStringHDMS(ol.proj.transform(
  78. coordinate, 'EPSG:3857', 'EPSG:4326'));
  79. content.innerHTML = '<p>你点击的坐标是:</p><code>' + hdms + '</code>';
  80. overlay.setPosition(coordinate);
  81. map.addOverlay(overlay);
  82. });
  83. </script>
  84. openlayers进阶学习——多标注显示/点击弹出框/图层控制/搜索定位/新增标注等
  85. 多标注显示
  86. 、多标注显示:通过Feature和Marker实现多点标注。(技术:http://blog.csdn.net/linlzk/article/details/20049405
  87. .openlayers3之动态点扩散效果(http://blog.csdn.net/qingyafan/article/details/49848455
  88. openlayers中三种动画实现(http://blog.csdn.net/u014529917/article/details/52514204

openlayers3入门教程的更多相关文章

  1. OpenLayers 3 入门教程

    OpenLayers 3 入门教程摘要OpenLayers 3对OpenLayers网络地图库进行了根本的重新设计.版本2虽然被广泛使用,但从JavaScript开发的早期发展阶段开始,已日益现实出它 ...

  2. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  3. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  4. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  5. Content Security Policy 入门教程

    阮一峰文章:Content Security Policy 入门教程

  6. gulp详细入门教程

    本文链接:http://www.ydcss.com/archives/18 gulp详细入门教程 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优 ...

  7. UE4新手引导入门教程

    请大家去这个地址下载:file:///D:/UE4%20Doc/虚幻4新手引导入门教程.pdf

  8. ABP(现代ASP.NET样板开发框架)系列之2、ABP入门教程

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之2.ABP入门教程 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

  9. webpack入门教程之初识loader(二)

    上一节我们学习了webpack的安装和编译,这一节我们来一起学习webpack的加载器和配置文件. 要想让网页看起来绚丽多彩,那么css就是必不可少的一份子.如果想要在应用中增加一个css文件,那么w ...

随机推荐

  1. wpf的datepicker处理(转)

    如果有2个datepicker,控制时间起和止的话,可以把第二个datepicker加一个属性,DisplayDateStart = "{Binding SelectedDate,Eleme ...

  2. 初学者必读之AJAX简单实例2

    1.a前台页面的主体 b.添加script函数: 这个函数功能1:把文本框的数据传入到后台程序   2.再接收后台程序处理之后的数据,将其插入到页面 2.后台程序功能 软件测试

  3. android BSP移植综述

    将android移植到特定硬件平台上,其核心是bsp的搭建工作,bsp是板级支持包,并不是特定某个文件,而是从功能上理解的一种硬件适配软件包,它的核心就是: 1. linux内核硬件相关部分(主要是l ...

  4. Windows中的SID详解

    SID详解前言 SID也就是安全标识符(Security Identifiers),是标识用户.组和计算机帐户的唯一的号码.在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的 SID.Wind ...

  5. Cropperjs 插件知识点

    cropper.js 通过 canvas 实现图片裁剪,最后再通过 canvas 获取裁剪区域的图片base64串. 1. Container 容器 2. canvas 图片 3. crop 裁剪框

  6. 启用Win8/10(中文版/核心版/家庭版)中被阉割的远程桌面服务端

    Windows 8/8.1/10 标准版(中文版/核心版/家庭版)中取消了远程桌面服务端,想通过远程连接到自己的电脑就很麻烦了,第三方远程桌面速度又不理想(如TeamViewer).通过以下方法可让系 ...

  7. Javascript中的闭包(六)

      一.什么是闭包  函数可以记住并访问所在词法作用域时,就产生了闭包,即使在词法作用域外调用函数. (也就是说如果一个函数在执行完之后,其中的内部包含的函数仍然对该函数的作用域持有着引用(函数执行完 ...

  8. 实验七 c字符数组和字符串函数

    7.1 #include<stdio.h>#include<string.h> int main(){ char a[40]; int i; gets(a); //输入字符串进 ...

  9. java发送http请求,内容为xml格式&&传统URI类请求

    import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.ByteArrayOutputStr ...

  10. vertical-align表单元素垂直对齐

    原文地址:http://www.blueidea.com/tech/web/2009/6910.asp 最近的项目涉及到很多表单的制作,特别是复选框(checkbox)和单选框(radio).但是在前 ...