地图是由图层组成的,而图层又分为ol.layer.Tile和ol.layer.Vector,ol.layer.Tile可以构建底图,ol.layer.Vector指定矢量图层,画点画线或者创建其他基本就是创建ol.layer.Vector,ol.layer.Vector和map对象一样,也是由许多属性构成,但是创建点线基本只会用到source属性。Source又由feature组成。
样例代码-创建点
1.创建Featrue,设置geometry属性
- var saoguan = new ol.Feature({
- geometry:new ol.geom.Point(ol.proj.fromLonLat([113.5991,24.8166]))
2.设置此点的样式
- saoguan.setStyle(new ol.style.Style({
- image:new ol.style.Icon({
- color:'#4271AE',
- src:'data/dot.png'
- })
- })
3.传入source
- var source = new ol.source.Vector({
- features:[saoguan]
- });
4.传入layer,设置点
- var layer = new ol.layer.Vector({
- source: source
- });
5.设置底图layer
- var rasterLayer = new ol.layer.Tile({
- source: new ol.source.OSM()
- });
6.最后将地图layer和点layer一并传入map中
- var map = new ol.Map({
- layers: [rasterLayer, layer],
- target: document.getElementById('map'),
- view: new ol.View({
- center: ol.proj.fromLonLat([113.5991,24.8166]),
- zoom: 3
- })
画点的方法详见:
http:///en/latest/examples/icon-color.html?q=point
创建线
步骤和画点差不多,只是在前两步中的方法有不一样
1.设置一个feature
- var feature = new ol.Feature({
- geometry:new ol.geom.LineString(
- [[-1e7, 1e6], [-1e6, 3e6]])
- });
2.设置style
- feature.setStyle(new ol.style.Style({
- stroke: new ol.style.Stroke({
- width: 3,
- color: [255, 0, 0, 1]
- })
- }));
|