WebGIS实战练习一(加载天地图)

小白刚学webgis,记录一下代码和软件的使用,供以后翻阅,有志同道合的giser可以一起讨论交流,指出错误指出谢谢大家。
1,在vs中创建网站,在引用下新建css和libs两个文件,css下引入ol.css和ol.css.map,libs下新建ol5文件夹并在ol5中引入ol.js和ol.js.map,再添加一个html页,代码如下。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>加载显示天地图</title>
    <link href="../../css/ol.css" rel="stylesheet" type="text/css" />
    <script src="../../libs/ol5/ol.js" type="text/javascript"></script>
    <style>
        #map{
            width:100%;
            height:100%;
            position:absolute;
        }
    </style>
</head>
<body>
    <div id="map"></div>
    <script type="text/javascript">
        "use strict";//严格模式参考: https://www.runoob.com/js/js-strict.html
        //实例化map对象并加载地图
        var map = new ol.Map({
            target: "map",//获取div的id
            loadTilesWhileInteracting: true,//将在地图交互的时候加载瓦片,增加流程度
            layers: [
                new ol.layer.Tile({
                    title: "天地图矢量图层",
                    source: new ol.source.XYZ({
                        url: "http://t6.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=8e51a15e6c3e6fffb55ac16a2fe5c070",
                        crossOrigin: "anonymous",
                        warpX: false
                    })
                }),
                new ol.layer.Tile({
                    title: "天地图矢量注记图层",
                    source: new ol.source.XYZ({
                        url: "http://t6.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=8e51a15e6c3e6fffb55ac16a2fe5c070",
                        attributions: "天地图的属性描述",
                        crossOrigin: "anonymous",
                        warpX: false
                    })
                })
            ],
            view: new ol.View({
                center: [0, 0],
                zoom: 3
            })
        });
    </script>

</body>
</html>

运行效果如下:
在这里插入图片描述
解析如下:
1.

new ol.source.XYZ

是写给谷歌和天地图的类,参考这个文章!
2.

crossOrigin

解决图片跨域问题,参考这个文章!
3.
zoom: 3
表示地图的缩放级别是3。
还有一种添加图层的写法,内容如下:

  <script>
        //实例化图层的方法(add方法)
        var map = new ol.Map({
            target: "map",
            layers: [],
            view: new ol.View({
                center: [0, 0],
                zoom: 3
            })
        });
        var TitleLayer1 = new ol.layer.Tile({
            title: "天地图矢量图层",
            source: new ol.source.XYZ({
                url: "http://t6.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=8e51a15e6c3e6fffb55ac16a2fe5c070",
                warpX: false
            })
        });
        var TitleLayer2 = new ol.layer.Tile({
            title: "天地图矢量注记图层",
            source: new ol.source.XYZ({
                url: "http://t6.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=8e51a15e6c3e6fffb55ac16a2fe5c070",
                warpX: false
            })
        });
        //加载瓦片内容到图层中
        map.addLayer(TitleLayer1);
        map.addLayer(TitleLayer2);
    </script>
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值