openlayers学习(八)加载天地图各种底图

加载天地图的各种在线地图资源

天地图在线地图资源地址:http://lbs.tianditu.gov.cn/server/MapService.html

1、初始化地图

var rootLayer = new ol.layer.Tile({
    source: new ol.source.XYZ({
        url: 'http://mt2.google.cn/vt/lyrs=y&hl=zh-CN&gl=CN&src=app&x={x}&y={y}&z={z}&s=G'
    }) //加载谷歌影像地图
});

var view = new ol.View({
    center: [113, 23],//设置地图默认中心点
    projection: 'EPSG:4326',//坐标系
    zoom: 10//默认缩放级别
});
map = new ol.Map({
    layers: [rootLayer],
    target: 'map',
    view: view
});

2、加载天地图

let img_w_url = "http://t0.tianditu.gov.cn/img_w/wmts?" +
    "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
    "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=自己的key";

let img_w = new ol.layer.Tile({
    source: new ol.source.XYZ({
        url: img_w_url
    }) //
});
map.addLayer(img_w);

每次只需要修改地址就可以了

3、加载0到7二级域名的地址的地图

let img_w_url1 = "http://t{0-7}.tianditu.gov.cn/img_w/wmts?" +
    "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
    "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=自己的key";
var openStreetMapLayer = new ol.layer.Tile({
    source: new ol.source.XYZ({
        //url: 'http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png'
        url: img_w_url1
    })
});
map.addLayer(openStreetMapLayer);

需要修改url中的t{0-7}

完整代码;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Draw Shapes</title>
    <script src="https://unpkg.com/elm-pep"></script>
    <style>
        .map {
            width: 100%;
            height: 400px;
        }
    </style>
    <link rel="stylesheet" href="../lib/openlayerv6.4.3/css/ol.css">
    <script src="../lib/openlayerv6.4.3/build/ol.js"></script>
</head>
<script>
    var map;
    function init() {
        var rootLayer = new ol.layer.Tile({
            source: new ol.source.XYZ({
                url: 'http://mt2.google.cn/vt/lyrs=y&hl=zh-CN&gl=CN&src=app&x={x}&y={y}&z={z}&s=G'
            }) //加载谷歌影像地图
        });

        var view = new ol.View({
            center: [113, 23],//设置地图默认中心点
            projection: 'EPSG:4326',//坐标系
            zoom: 10//默认缩放级别
        });
        map = new ol.Map({
            layers: [rootLayer],
            target: 'map',
            view: view
        });
    }

    function addLayer1() {

        let img_w_url = "http://t0.tianditu.gov.cn/img_w/wmts?" +
            "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
            "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=自己的key";

        let img_w = new ol.layer.Tile({
            source: new ol.source.XYZ({
                url: img_w_url
            }) //
        });
        map.addLayer(img_w);
    }

    function addLayer2() {
        var imageURL = "http://t0.tianditu.gov.cn/cia_w/wmts?" +
            "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
            "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=自己的key";

        var rootLayer = new ol.layer.Tile({
            source: new ol.source.XYZ({
                url: imageURL
            }) //加载谷歌影像地图
        });

        map.addLayer(rootLayer);

    }

    function addLayer4() {
        var imageURL = "http://t0.tianditu.gov.cn/ter_w/wmts?" +
            "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ter&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
            "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=自己的key";

        var rootLayer = new ol.layer.Tile({
            source: new ol.source.XYZ({
                url: imageURL
            }) //加载谷歌影像地图
        });

        map.addLayer(rootLayer);

    }

    function addLayer5() {
        var imageURL = "http://t0.tianditu.gov.cn/ibo_w/wmts?" +
            "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ibo&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
            "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=自己的key";
        var rootLayer = new ol.layer.Tile({
            source: new ol.source.XYZ({
                url: imageURL
            }) //加载谷歌影像地图
        });

        map.addLayer(rootLayer);

    }

    function addLayer3() {

        var imageURL = "http://t4.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=自己的key";

        var rootLayer = new ol.layer.Tile({
            source: new ol.source.XYZ({
                url: imageURL
            }) //加载谷歌影像地图
        });

        map.addLayer(rootLayer);

    }

    function addLayer6() {
        var imageURL = "http://t4.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=自己的key";
        //var imageURL = "http://t0.tianditu.gov.cn/ibo_w/wmts&x={x}&y={y}&l={z}&tk=自己的key";
        var rootLayer = new ol.layer.Tile({
            source: new ol.source.XYZ({
                url: imageURL
            }) //加载谷歌影像地图
        });

        map.addLayer(rootLayer);

    }

    function addLayer7() {
        let img_w_url1 = "http://t{0-7}.tianditu.gov.cn/img_w/wmts?" +
            "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
            "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=自己的key";
        var openStreetMapLayer = new ol.layer.Tile({
            source: new ol.source.XYZ({
                //url: 'http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png'
                url: img_w_url1
            })
        });
        map.addLayer(openStreetMapLayer);
    }

</script>
<body οnlοad="init()">
<div id="map" class="map"></div>
<button οnclick="addLayer1()">影像地图</button>
<button οnclick="addLayer2()">影像注记</button>
<button οnclick="addLayer3()">矢量注记</button>
<button οnclick="addLayer4()">地形晕渲</button>
<button οnclick="addLayer5()">全球境界</button>
<button οnclick="addLayer6()">矢量底图</button>
<button οnclick="addLayer7()">影像地图使用0-7二级域名</button>
</body>
</html>

 

 

 

 

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值