分享

OpenLayers3入门篇

 primivite_ 2017-11-17

地图是由图层组成的,而图层又分为ol.layer.Tileol.layer.Vector,ol.layer.Tile可以构建底图,ol.layer.Vector指定矢量图层,画点画线或者创建其他基本就是创建ol.layer.Vectorol.layer.Vectormap对象一样,也是由许多属性构成,但是创建点线基本只会用到source属性。Source又由feature组成。


样例代码-创建点

1.创建Featrue,设置geometry属性

[javascript] view plain copy
print?
  1. var saoguan = new ol.Feature({  
  2.        geometry:new ol.geom.Point(ol.proj.fromLonLat([113.5991,24.8166]))  
[javascript] view plain copy
print?
  1. });  


2.设置此点的样式

[javascript] view plain copy
print?
  1. saoguan.setStyle(new ol.style.Style({  
  2.        image:new ol.style.Icon({  
  3.        color:'#4271AE',  
  4.        src:'data/dot.png'  
  5.         })  
  6.       })  
[javascript] view plain copy
print?
  1. );   

 

3.传入source 

[javascript] view plain copy
print?
  1. var source = new ol.source.Vector({  
  2.     features:[saoguan]  
  3. });  


4.传入layer,设置点

[javascript] view plain copy
print?
  1. var layer = new ol.layer.Vector({  
  2.        source: source  
  3. });  


5.设置底图layer

[javascript] view plain copy
print?
  1. var rasterLayer =  new ol.layer.Tile({  
  2.        source: new ol.source.OSM()  
  3.    });  


6.最后将地图layer和点layer一并传入map

[javascript] view plain copy
print?
  1. var map = new ol.Map({  
  2.   layers: [rasterLayer, layer],  
  3.   target: document.getElementById('map'),  
  4.   view: new ol.View({  
  5.     center: ol.proj.fromLonLat([113.5991,24.8166]),  
  6.     zoom: 3  
  7.    })  
[javascript] view plain copy
print?
  1. });  

画点的方法详见:

http:///en/latest/examples/icon-color.html?q=point

 

 

创建线

步骤和画点差不多,只是在前两步中的方法有不一样

1.设置一个feature

[javascript] view plain copy
print?
  1. var feature = new ol.Feature({  
  2.      geometry:new ol.geom.LineString(  
  3.          [[-1e7, 1e6], [-1e6, 3e6]])  
  4.         });  


2.设置style 

 

[javascript] view plain copy
print?
  1. feature.setStyle(new ol.style.Style({  
  2.         stroke: new ol.style.Stroke({  
  3.                 width: 3,  
  4.                color: [255, 0, 0, 1]  
  5.               })  
  6.         }));  

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多