ol+天地图+geoserver_使用openlayers 3 在线加载天地图及GeoServer发布的地图

本文介绍了一个使用OpenLayers实现的地图演示项目,通过封装不同类型的图层(如矢量图层、影像图层等),并利用GeoServer发布地图服务。该项目集成了多种地图控制组件,如全屏、鼠标位置显示、缩放滑块等。
OpenLayers MapQuest Demo

html, body, #map{padding:0;margin:0;height:100%;width:100%;

}.mouse-position-wrapper{width:300px;height:29px;color:#FF00FF;position:absolute;right:20px;bottom:6px;z-index:999;

}.ol-rotate{right:40px;

}.ol-scale-line{left:180px;

}.ol-zoomslider{top:120px;left:9px;

}

varmap;functioninit(){//封装底图函数

functiongetBaseLayer(layername, layer){return newol.layer.Tile({

title:layername,

source:newol.source.XYZ({

url:"http://t4.tianditu.com/DataServer?T="+layer+"&x={x}&y={y}&l={z}"})

});

};//封装标注图层

functiongetAnnoLayer(layername, layer, visiable){return newol.layer.Tile({

title:layername,

source:newol.source.XYZ({

url:"http://t4.tianditu.com/DataServer?T="+layer+"&x={x}&y={y}&l={z}"})

});

};//天地图图层

varbaseLayers=["vec_w","img_w","ter_w"];varvecLayer=getBaseLayer("地图",baseLayers[0]);varimgLayer=getBaseLayer("影像",baseLayers[1]);varterLayer=getBaseLayer("地形",baseLayers[2]);varvecAnno=getAnnoLayer("地图标注","cva_w",true);//使用GeoServer发布的地图

functiongetWMSLayer(){return newol.layer.Image({

source:newol.source.ImageWMS({

url:'http://localhost:8080/geoserver/wms',

params: {'LAYERS':'topp:testpoly_landmarks','VERSION':'1.1.1'},

serverType:'geoserver'})

})

}//GeoServer中图层范围BBOX范围值

varextent=[-74.047,40.68,-73.908,40.882];//地图投影类型

varprojection=newol.proj.Projection({

code:'EPSG:4326',

units:'degrees',

extent:extent

});vargeoServerTest=getWMSLayer();

map= newol.Map({

controls:ol.control.defaults().extend([newol.control.FullScreen(),newol.control.MousePosition({

coordinateFormat: ol.coordinate.createStringXY(4),

projection:'EPSG:4326',

className:'custom-mouse-position',

target: document.getElementById('mouse-position')

}) ,newol.control.OverviewMap({ }),newol.control.Rotate({

autoHide:false}),newol.control.ScaleLine({ }),newol.control.ZoomSlider({ }),newol.control.ZoomToExtent({ })

]),

view:newol.View({

projection:projection,

center: ol.extent.getCenter(extent),

minZoom:1,

maxZoom:5,

zoom:1}),

target:'map',

layers: [geoServerTest],

});

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值