OpenLayers学习--加载ArcGIS缓存
来源:互联网 发布:js 静态倒计时 编辑:程序博客网 时间:2024/05/18 01:56
数据准备
使用ArcGIS发布地图,并切图得到松散的缓存瓦片数据,一般存储路径为:C:\arcgisserver\directories\arcgiscache
使用ArcGIS10.2之前的ArcGIS Server数据目录可能不一样,请自己找到arcgiscache 文件夹。
本实例使用的缓存配置如下图:
发布数据
本步骤主要目的是将ArcGIS缓存的瓦片发布的到服务器上,使外网可以访问到瓦片数据。
将缓存路径发布的IIS上(路径为:http://localhost:9999),如下图:
加载缓存类(该类可以加载任何ArcGIS发布的数据)
关键步骤就是重现getURL()方法,当地图刷新的时候可以找到服务器中切片存放的路径。
OpenLayers加载缓存文件的代码如下:OpenLayers.Layer.ESRICache = OpenLayers.Class(OpenLayers.Layer.TMS, { tileOriginCorner: 'tl', type: 'png', initialize: function (name, url, options) { OpenLayers.Layer.TMS.prototype.initialize.apply(this, [name, url,options]); }, getURL: function (bounds) { var z = map.getZoom(); var res = map.getResolution(z); var x = parseInt((bounds.getCenterLonLat().lon - this.tileOrigin.lon) / (256 * res)); var y = parseInt((this.tileOrigin.lat - bounds.getCenterLonLat().lat) / (256 * res)); x = 'C' + OpenLayers.Number.zeroPad(x, 8, 16); y = 'R' + OpenLayers.Number.zeroPad(y, 8, 16); z = 'L' + OpenLayers.Number.zeroPad(z, 2, 10); return this.url + z + '/' + y + '/' + x + '.' + this.type; }, });
使用示例
初始化地图图层:
var esri = new OpenLayers.Layer.ESRICache("ArcGIS缓存", 'http://localhost:9999/', { resolutions: [ 0.01903568804664224, 0.00951784402332112, 0.00475892201166056, 0.00237946100583028, 0.00118973050291514 ], maxExtent: [103.59974, 24.621635, 109.55483, 29.224079], tileOrigin: new OpenLayers.LonLat(-400, 400) });
初始化地图:
map = new OpenLayers.Map('map', { projection: "EPSG:4326", displayProjection:"EPSG:4326", //maxExtent: [103.59974, 24.621635, 109.55483, 29.224079], controls:[] }); map.addLayer(esri);
OK,打开浏览器查看地图
0 0
- OpenLayers学习--加载ArcGIS缓存
- OpenLayers学习--加载ArcGIS缓存
- Arcgis for js,Openlayers中加载GeoJSON
- Openlayers之离线加载ArcGIS Server瓦片
- Openlayers之加载ArcGIS Server瓦片(XYZ方式)
- ArcGIS学习(五)OpenLayers调用WMS服务
- ArcGIS学习(五)OpenLayers调用WMS服务
- ArcGIS学习(五)OpenLayers调用WMS服务
- OpenLayers源码学习(二) 加载城际通地图
- openlayers加载百度地图
- openlayers加载切片地图
- openlayers加载jsonp数据
- OpenLayers基础地图加载
- Openlayers加载在线地图
- OpenLayers 加载静态图片
- openlayers加载geojson数据 *
- openlayers加载gml
- openlayers读取arcgis server发布服务
- 静态类获取实例,创建了两次的问题
- 点击邮箱链接激活账号
- 递归方法的非递归实现
- iOS 获取wifi ssid 名称
- 设计模式之职责链模式
- OpenLayers学习--加载ArcGIS缓存
- ant自动化编译及多渠道打包
- 3d格式
- MyBatis+Spring 事务管理
- 不看后悔的:iOS开发系列--视图切换(2)
- Shell标准输出、标准错误 >/dev/null 2>&1
- 看非你莫属感悟
- UIView重绘机制drawRect
- 关于用jquey设置textarea“值”的问题