openlayers 加载ArcGIS 切片地图
2018-01-03 19:39
381 查看
我这里使用的版本是openlayers 3.11.1
主要的方式是使用
其中 10 为地图的缩放比例,
核心代码:
有一点需要注意的是,默认的缩放级别是从 0~28,如果对应级别没有自己的切片的话,控制台就会报找不到切片,这个还没处理,可以控制一下最大最小的缩放级别和范围。
效果示例:我这里还加了一个OSM地图的底图,网络好的时候加载很快,网差的时候就慢点
主要的方式是使用
ol.source.XYZ这个类来加载 切片,ArcGIS生成切片的目录文件的方式为:
\L10\R00000181\C0000034a.png
其中 10 为地图的缩放比例,
00000181和’0000034a’ 分别是十六进制的 切片横纵坐标,也就是说我们按照这个规律就可以加载到对应的切片,然后将加载的切片拼接成图层加载到map对象就ok了。
核心代码:
// ol.source.XYZ添加瓦片地图的层 var tileLayer = new ol.layer.Tile({ source: new ol.source.XYZ({ tileUrlFunction: function (tileCoord) { console.log(tileCoord); //alert(tileCoord[0] + " X= " + tileCoord[1] + " Y= " + tileCoord[2]); var oo = "00000000"; var zz = tileCoord[0]; var z = "L" + zz; var xx = tileCoord[1].toString(16); var x = "C" + oo.substring(0, 8 - xx.length) + xx; var yy = (-tileCoord[2] - 1).toString(16); //注意此处,计算方式变了 var y = "R" + oo.substring(0, 8 - yy.length) + yy; return 'C:\\arcgisserver\\directories\\arcgiscache\\test1\\Layers\\_alllayers/' + z + '/' + y + '/' + x + '.png'; }, projection: 'EPSG:3857' }) }); map.addLayer(tileLayer);
有一点需要注意的是,默认的缩放级别是从 0~28,如果对应级别没有自己的切片的话,控制台就会报找不到切片,这个还没处理,可以控制一下最大最小的缩放级别和范围。
效果示例:我这里还加了一个OSM地图的底图,网络好的时候加载很快,网差的时候就慢点
相关文章推荐
- Openlayers3 加载Geowebcache 发布的 ArcGIS 切片地图
- OpenLayers 3加载本地Google切片地图
- ArcGIS API for JavaScript 加载切片地图
- Openlayers之加载ArcgisServer的切片(TileArcGISRest加载方式)
- openlayers加载切片地图
- (四)ArcGIS JS 加载切片地图服务
- Arcgis怎么区分加载的是矢量还是切片地图?哪位大神有切片地图网址给我一个,谢谢。。。
- Flex加载 ArcGIS Server发布的切片地图(不直接使用ArcGISTiledMapServiceLayer)
- Arcgis API for Silverlight如何加载天地图底图以及地方坐标系的偏门底图
- 解决ArcGIS API for Silverlight 加载地图的内外网访问问题
- openlayers 3 加载地图瓦片数据
- ARCGISServer加载切片地图
- 《ArcGIS Runtime for Android 100.2.1学习笔记》一:配置在线SDK及加载在线地图
- ArcGIS地图发布与数据切片
- arcgis api for JavaScript发布切片,地图不显示
- OpenLayers 3 之加载地图
- ArcGIS API for JavaScript 地图加载空白现象-ArcGIS Web 开发学习(三)
- Arcgis for js,Openlayers中加载GeoJSON
- ArcGIS Api For Android学习之(二)加载地图续-加载sd卡中的切片数据
- Openlayers加载在线地图