首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在网络脱机时使用磁盘上的GeoWebCache png文件?

如何在网络脱机时使用磁盘上的GeoWebCache png文件?
EN

Stack Overflow用户
提问于 2016-06-30 16:23:10
回答 1查看 229关注 0票数 0

我必须实现在网络上显示GeoWebCache png文件-离线。我保存了GeoWebCache文件,这是png的道路图片在我的本地磁盘。当网络关闭时,我想在网络浏览器上显示这些GWC(GwoWebCache)文件。以下是我的代码。

代码语言:javascript
复制
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Tiled GWC</title>
    <link rel="stylesheet" href='file:///C:/Users/HP/Downloads/ol.css' type="text/css">
    <script src='file:///C:/Users/HP/Downloads/proj4.js'></script>
    <script src='file:///C:/Users/HP/Downloads/ol-debug.js'></script>
    <script src='file:///C:/Users/HP/Downloads/gwcsource.js'></script>
  </head>
  <body>
    <div id="map" class="map"></div>
    <script>

        var workspace = 'cnpost';
        var featureType = 'lb_ra_road';
        var resolutions =  [140.0, 70.0, 35.0, 17.5, 8.75, 4.375, 2.1875, 1.09375, 0.546875, 0.2734375, 0.13671875, 0.068359375];
        var viewExtent;
        var MapExtent = [14140780.0, 4311780.0, 14284140.0, 4455140.0];
        viewExtent = MapExtent;
        var origin =  [14140780.0, 4311780.0];
        var dispCenter = [234560, 416854.5];
        var dispProj = "EPSG:5186";
        var vWorldProj = "EPSG:900913";
        var projection = new ol.proj.Projection({
            //code: dispProj,
            code: vWorldProj,
            extent: viewExtent,
            units: 'm'
        });

        var tileSource = new ol.source.GWC(({
                //url: 'file:///storage/sdcard0',
                url: 'file:///C:/gwc',
                gridset: 'VWORLD',
                layer : workspace + '_' + featureType,
                tilegrid: new ol.tilegrid.TileGrid({
                    resolutions: resolutions,
                    extent: viewExtent,
                    origin: origin,
                    tileSize: [256, 256]
                })
            }));

        var layer = new ol.layer.Tile({
            title: featureType,
            extent: viewExtent,
            visible: false,
            baseLayer: false,
            source: tileSource
        });

        var layers = [
            layer
        ];

        var view = new ol.View({
            //center: ol.proj.transform(dispCenter, dispProj, vWorldProj),  
            center: dispCenter,
            //center: ol.proj.transform([126.6, 36.78], 'EPSG:4326', vWorldProj),
            //maxResolution : 140,               
            //minResolution : 0.068359375,                
            //maxZoom : 12,                       
            //minZoom : 2,                        
            projection: projection,               
            resolutions: resolutions,                     
            extent: viewExtent,
            zoom: 2,                           
            resolution: 1.09375                    
            //resolution: 0.2734375
            //rotation: 0,                       
        });

        var map = new ol.Map({
            layers: layers,
            target: 'map',
            view: view
      });
    </script>
  </body>
</html> 

上面的代码不起作用。如果你有什么好主意,请让我知道。感谢您的阅读。祝您今天愉快。

EN

回答 1

Stack Overflow用户

发布于 2016-09-16 16:48:12

我使用“OL3-gwc-tiled rebased”。我不知道作者是谁,因为我找不到repo,代码也没有信息。

它对我有效,但我使用'file://c:/temp‘作为url:

代码语言:javascript
复制
var layerPlanea = new ol.layer.Tile({
    extent: ed50lh.extent,
    title: 'Planejament',
    type: 'overlay',
    visible: false,
    source: new ol.source.GWC({
        url: 'file://c:/temp',
        layer: 'Planejament',
        gridset: 'ED50lh',
        projection: ed50lh,
        tileGrid: new ol.tilegrid.TileGrid({
            resolutions: resolucions,
            origin: [423000, 4576000],
            extent: ed50lh.extent,
            tileSize: 256
        }),
    })
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38117659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档