当前位置:   article > 正文

openlayer3 系列 1 - 简介_js openlayers 官网

js openlayers 官网

1.官网:http://openlayers.org/

在官网首页上,即可看到相关的介绍,文档,API,以及Examples链接

2.好的中文网站

http://anzhihun.coding.me/ol3-primer/ch01/index.html

3.简介

OpenLayers 3简称ol3,它是一个开源的Web GIS引擎,使用了JavaScript、最新的HTML5技术及CSS技术,支持domcanvaswebgl三种渲染方式。除了支持网页端,还支持移动端(目前移动端还不成熟,有待进一步完善)。在地图数据源方面,支持各种类型的瓦片地图,既支持在线的,也支持离线的。比如OSM, Bing, MapBox, Stamen, MapQuest等等;还支持各种矢量地图,比如GeoJSON,TopoJSON,KML,GML等等。随着OpenLayers 3的进一步发展,将支持更多的地图类型。

不兼容ol2,采用全新的架构,使用方式及API都不一样,只是在功能上完全实现OpenLayers 2已有的功能,

4.加载地图练习

加载简单地图

  1. <!Doctype html>
  2. <html xmlns=http://www.w3.org/1999/xhtml>
  3. <head>
  4. <meta http-equiv=Content-Type content="text/html;charset=utf-8">
  5. <meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1">
  6. <meta content=always name=referrer>
  7. <title>OpenLayers 3地图示例</title>
  8. <link href="../ol3.13.1/ol.css" rel="stylesheet" type="text/css" />
  9. <script type="text/javascript" src="../src/ol3.13.1/ol.js" charset="utf-8"></script>
  10. </head>
  11. <body>
  12. <div id="map" style="width: 100%"></div>
  13. <script>
  14. // 创建地图
  15. new ol.Map({
  16. // 设置地图图层
  17. layers: [
  18. // 创建一个使用Open Street Map地图源的瓦片图层
  19. source: new ol.source.OSM({
  20.           wrapX : false  //使地图横向只出现一个
  21.           })
  22. ],
  23. // 设置显示地图的视图
  24. view: new ol.View({
  25. center: [0, 0], // 定义地图显示中心于经度0度,纬度0度处
  26. zoom: 2 // 并且定义地图显示层级为2
  27. }),
  28. // 让id为map的div作为地图的容器
  29. target: 'map'
  30. });
  31. </script>
  32. </body>
  33. </html>
wrapX : false  //使地图横向只出现一个           }) ], // 设置显示地图的视图 view: new ol.View({ center: [0, 0], // 定义地图显示中心于经度0度,纬度0度处 zoom: 2 // 并且定义地图显示层级为2 }), // 让id为map的div作为地图的容器 target: 'map' }); </script> </body> </html>

要想使用OpenLayers 3开发地图,首先你需要引入了OpenLayers 3的js库文件ol3.js及样式文件ol3.css,参见代码中html头部

 

加载百度地图

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Image ArcGIS MapServer</title>
  5. <link rel="stylesheet" href="https://openlayers.org/en/v4.6.4/css/ol.css" type="text/css">
  6. <!-- The line below is only needed for old environments like Internet Explorer and Android 4.x -->
  7. <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script>
  8. <script src="https://openlayers.org/en/v4.6.4/build/ol.js"></script>
  9. </head>
  10. <body>
  11. <div id="baiduMap2" style="width: 100%"></div>
  12. <script>
  13. // 自定义分辨率和瓦片坐标系
  14. var resolutions = [];
  15. var maxZoom = 18;
  16. // 计算百度使用的分辨率
  17. for(var i=0; i<=maxZoom; i++){
  18. resolutions[i] = Math.pow(2, maxZoom-i);
  19. }
  20. var tilegrid = new ol.tilegrid.TileGrid({
  21. origin: [0,0], // 设置原点坐标
  22. resolutions: resolutions // 设置分辨率
  23. });
  24. // 创建百度地图的数据源
  25. var baiduSource = new ol.source.TileImage({
  26. projection: 'EPSG:3857',
  27. tileGrid: tilegrid,
  28. tileUrlFunction: function(tileCoord, pixelRatio, proj){
  29. var z = tileCoord[0];
  30. var x = tileCoord[1];
  31. var y = tileCoord[2];
  32. // 百度瓦片服务url将负数使用M前缀来标识
  33. if(x<0){
  34. x = 'M' + (-x);
  35. }
  36. if(y<0){
  37. y = 'M' + (-y);
  38. }
  39. return "http://online0.map.bdimg.com/onlinelabel/?qt=tile&x="+x+"&y="+y+"&z="+z+"&styles=pl&udt=20160426&scaler=1&p=0";
  40. }
  41. });
  42. // 百度地图层
  43. var baiduMapLayer2 = new ol.layer.Tile({
  44. source: baiduSource
  45. });
  46. // 创建地图
  47. new ol.Map({
  48. layers: [
  49. baiduMapLayer2
  50. ],
  51. view: new ol.View({
  52. // 设置成都为地图中心
  53. center: ol.proj.transform([104.06, 30.67], 'EPSG:4326', 'EPSG:3857'),
  54. zoom: 10
  55. }),
  56. target: 'baiduMap2'
  57. });
  58. </script>
  59. </body>
  60. </html>

将不定期更新资源,欢迎持续关注

想获得更多的学习知识请关注微信公众号:西北码农或扫下方二维码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/489380
推荐阅读
相关标签
  

闽ICP备14008679号