OpenLayers  提供了ol.source.XYZ 接口用以加载切片地图。

本地切片地图是用地图切片下载器下载的Google道路图层,由于软件未激活,所以每张切片地图上都有软件作者的联系方式,请忽略。

下载下来的切片地图通过Windows自带的iis发布,这样就可以通过网络地址来访问切片数据。

首先,根据ol3的接口创建了一个js方法,这个方法会根据传来的参数创建一个类型为ol.layer.Tile的图层。

var TileLayer = function (options) {
    var layer = new ol.layer.Tile({
        extent: ol.proj.transformExtent(options.mapExtent, options.fromProject, options.toProject),
        source: new ol.source.XYZ({
            attributions: [options.attribution],
            url: options.url,
            tilePixelRatio: options.tilePixelRatio, // THIS IS IMPORTANT
            minZoom: options.mapMinZoom,
            maxZoom: options.mapMaxZoom
        })
    });
    return layer;
}

配置Google切片地图的参数,并调用TileLayer方法,把返回的layer添加到地图中就可以看到Google地图正确的覆盖到OpenLayers提供的底图上。

//定义Google切片参数
var defaults = {
        url: 'http://localhost:8082/{z}/{x}/{y}.png',
        mapExtent: [-2.0037508342787E7, -2.0037508342787E7, 2.0037508342787E7, 2.0037508342787E7],
        mapMinZoom: 1,
        mapMaxZoom: 14,
        attribution: new ol.Attribution({
            html: 'Tiles © GoogleMap'
        }),
        tilePixelRatio: 1,
        fromProject: "EPSG:102100",
        toProject: "EPSG:3857"
    };
var layer = new TileLayer(defaults);

  

配置中的formProject是指Google地图使用的投影,toProject是指底图使用的投影。

        fromProject: "EPSG:102100",
        toProject: "EPSG:3857"

使用这种配置看似比较复杂,但是在很多情况下还是比较有用的,比如我们可以改变mapExtent来控制切片涂层加载的范围,改变zoom控制加载切片的比例范围,等等。

最新文章

  1. Writing to a MySQL database from SSIS
  2. Xcode 7 PCH宏文件的配置和使用---学会使用宏定义
  3. IntelliJ_设置
  4. 56. Android中进程优先级小结
  5. JavaScript基础整理(1)
  6. C#中如何在字符串中设置上标
  7. nfs基本配置
  8. 【现代程序设计】【homework-07】
  9. Spring个人总结
  10. android 内存优化
  11. It's only too late if you decide it is. Get busy living, or get busy dying(转)
  12. AJAX跨域调用ASP.NET MVC或者WebAPI服务
  13. Mysql开机启动,CentOS6.5
  14. TestLink和RedMine的集成
  15. 使用myeclipse出现中文乱码的情况以及解决办法
  16. [LeetCode] Knight Probability in Chessboard 棋盘上骑士的可能性
  17. How to migrate data from another Mac using Mountain Lion and earlier
  18. 《java入门第一季》之网络编程初探
  19. sqlserver 电脑重启以后服务突然无法启动 报错
  20. ATS6.2安装部署笔记

热门文章

  1. deepin 2014 静态IP无法保存,临时方法
  2. 【转】Memcached管理与监控工具----MemAdmin
  3. Lammp安装过程
  4. 使用Calendar增加日期
  5. inotifywait实现目录监控
  6. How To Compile Qt with Visual Studio 2010
  7. atoi 和itoa用法
  8. GNU C - 关于8086的内存访问机制以及内存对齐(memory alignment)
  9. MongoDB C Driver and APIinstances linux MongoDB安装配置
  10. UML图总结