Openlayers2调用ArcGis的WMTS服务,restful和kvp两种模式
2015-10-21 14:07
786 查看
主要代码:
几个主要参数与wmts的xml信息对应:
该标签内表示wmts服务支持restful类型,对应Openlayers.layer.WMTS的参数为:requestEncoding:”“。
layer标签,
ows:Identifier对应OL的layer:”“,
s:BoundingBox的crs属性为地图坐标参考系,子标签是地图的范围,相当于OL的tileFullExtent:“”,
Style标签ows:Identifier对应OL的style:”“,为空的话一般OL中style:”_null”,
Format标签对应OL的format:”“,
OL
4000
的matrixIds:”“为数组参数,默认是0,1,2…,若XML的TileMatrix为EPSG:4326:0,EPSG:4326:1,EPSG:4326:3…需要自己设定参数
注意:ArcGis的restful方式,url需要在…/WMTS/后多加一个tile
map = new OpenLayers.Map( 'map',{ numZoomLevels:20 }); var wmts = new OpenLayers.Layer.WMTS({ name: "My WMTS Layer", requestEncoding:"REST", url:"http://sampleserver6.arcgisonline.com/arcgis/rest/services/WorldTimeZones/MapServer/WMTS/tile", layer: "WorldTimeZones", style: "default", tileFullExtent: new OpenLayers.Bounds(-2.0037507067161843E7,-3.024097195838617E7,2.0037507067161843E7,3.0240971458386205E7), matrixSet: "default028mm", //matrixIds: matrixIds, format:"image/png", //opacity:1, //maxZoomLevel:19, isBaseLayer:true }); //map.addLayers([osm,layer]); map.addLayer(wmts); map.setCenter(new OpenLayers.LonLat(0, 0), 0); //map.addControl( new OpenLayers.Control.LayerSwitcher() ); //map.zoomToMaxExtent();
几个主要参数与wmts的xml信息对应:
<ows:Constraint name="GetEncoding"> <ows:AllowedValues> <ows:Value>RESTful</ows:Value> </ows:AllowedValues> </ows:Constraint> </ows:Get>
该标签内表示wmts服务支持restful类型,对应Openlayers.layer.WMTS的参数为:requestEncoding:”“。
<Layer> <ows:Title>WorldTimeZones</ows:Title> <ows:Identifier>WorldTimeZones</ows:Identifier> <ows:BoundingBox crs="urn:ogc:def:crs:EPSG::3857"> <ows:LowerCorner>-2.0037507067161843E7 -3.024097195838617E7</ows:LowerCorner> <ows:UpperCorner>2.0037507067161843E7 3.0240971458386205E7</ows:UpperCorner> </ows:BoundingBox> <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84"> <ows:LowerCorner>-179.99999550841463 -88.99999992161119</ows:LowerCorner> <ows:UpperCorner>179.99999550841463 88.99999992161118</ows:UpperCorner> </ows:WGS84BoundingBox> <Style isDefault="true"> <ows:Title>Default Style</ows:Title> <ows:Identifier>default</ows:Identifier> </Style> <Format>image/png</Format> <TileMatrixSetLink> <TileMatrixSet>default028mm</TileMatrixSet> </TileMatrixSetLink> <TileMatrixSetLink> <!-- Only show this TileMatrixSet if the tiling scheme is compliant to Google Maps (and that happens with tile width = 256 px) --> <TileMatrixSet>GoogleMapsCompatible</TileMatrixSet> </TileMatrixSetLink> <ResourceURL format="image/png" resourceType="tile" template="http://sampleserver6.arcgisonline.com/arcgis/rest/services/WorldTimeZones/MapServer/WMTS/tile/1.0.0/WorldTimeZones/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png"/> </Layer>
layer标签,
ows:Identifier对应OL的layer:”“,
s:BoundingBox的crs属性为地图坐标参考系,子标签是地图的范围,相当于OL的tileFullExtent:“”,
Style标签ows:Identifier对应OL的style:”“,为空的话一般OL中style:”_null”,
Format标签对应OL的format:”“,
OL
4000
的matrixIds:”“为数组参数,默认是0,1,2…,若XML的TileMatrix为EPSG:4326:0,EPSG:4326:1,EPSG:4326:3…需要自己设定参数
注意:ArcGis的restful方式,url需要在…/WMTS/后多加一个tile
相关文章推荐
- 百度地图经纬度转换到腾讯地图/Google 对应的经纬度
- 基于Arcgis for javascript实现百度地图ABCD marker的效果
- 在Google 地图上实现做的标记相连接
- PHP计算百度地图两个GPS坐标之间距离的方法
- sogou地图API用法实例教程
- 在arcgis使用python脚本进行字段计算时是如何解决中文问题的
- 基于ArcEngine+C#开发的空间数据管理平台架构设计及功能说明
- gps各种地图坐标系转换
- [IOS地图开发系类]1、CLLocationManager 位置定位
- [IOS地图开发系类]2、位置解码CLGeocoder
- [IOS地图开发系类]3、地图视图MKMapview
- [IOS地图开发系类]4、MKMapview上添加MKAnnotationView,标记当前位置
- [IOS地图开发系类]5、改变大头针MKPinAnnotationView的颜色
- 魔兽地图修改器
- 国家测绘局副局长解释什么是“问题地图”ぁ
- 地图 点聚合
- Zoom to Selected Globe Features
- asp.net地理统计图表控件
- 在ArcGIS中如何删除重复的点要素
- Yahoo前端优化性能规则