openlayers入门学习一

openlayers官方文档:http://iclient.supermap.io/web/introduction/openlayersDevelop.html#top

官方文档对我来说有点乱,看不是很懂,而且上面是以HTML写的,我在做的时候用的是vue写的。

项目的创建就不多说了,我用了最新的vue-cli3.x创建的,具体可见上次文章:https://mp.csdn.net/postedit/102580903

1、使用此方式前请先检查电脑中是否已安装应用程序 Node.js,安装 SuperMap iClient for OpenLayers需要用到,命令:

npm install @supermap/iclient-openlayers

2、引入css,特别是引入,看官方文档看了好久也没懂,怪自己理解太差,请教别人最后还是做出来了,在main.js中添加以下代码,不知道引入路径的,可以去找node_modules--openlayers

import 'openlayers/css/ol.css'
import 'openlayers/dist/ol'
import '@supermap/iclient-openlayers'

3、创建一幅地图,SuperMap iServer发布的地图

App.vue

<template> 
 <div id="map" ref="rootmap">
    </div>
</template>

<script>
import ol from 'openlayers';
export default {
  name: 'app',
  data: function () {
    return {
      count: 0
    }
  },
  components: {
  
  },
  mounted(){
    var url = "http://support.supermap.com.cn:8090/iserver/services/map-world/rest/maps/World";
    // 初始化地图信息
    var map = new ol.Map({
        target: 'map',
        controls: ol.control.defaults({attributionOptions: {collapsed: false}})
            .extend([new ol.supermap.control.Logo()]),
        view: new ol.View({
            center: [0, 0],
            zoom: 2,
            projection: 'EPSG:4326'
        })
    });
    // 添加图层
    var layer = new ol.layer.Tile({
        source: new ol.source.TileSuperMapRest({
            url: url,
            wrapX: true
        }),
        projection: 'EPSG:4326'
    });
    map.addLayer(layer);
    map.addControl(new ol.supermap.control.ScaleLine());

  }
}
</script>

<style>
</style>

运行效果

天地图

<template> 
 <div id="map" ref="rootmap">
    </div>
</template>

<script>
import ol from 'openlayers';
export default {
  name: 'app',
  data: function () {
    return {
      count: 0
    }
  },
  components: {
  
  },
  mounted(){
    var map = new ol.Map({
        target: 'map',
        controls: ol.control.defaults({attributionOptions: {collapsed: false}})
            .extend([new ol.supermap.control.Logo()]),
        view: new ol.View({
            center: [116.402, 39.905],
            zoom: 5,
            projection: "EPSG:4326"
        }),

        layers: [new ol.layer.Tile({
            source: new ol.source.Tianditu({
                layerType: 'ter',
                key: "1d109683f4d84198e37a38c442d68311",
                projection: "EPSG:4326"
            })
        }), new ol.layer.Tile({
            source: new ol.source.Tianditu({
                layerType: 'ter',
                key: "1d109683f4d84198e37a38c442d68311",
                isLabel: true,
                projection: "EPSG:4326"
            })
        })]
    });
  }
}
</script>

<style>
</style>

 

leaflet的学习可见:https://blog.csdn.net/dengdengchen/article/details/102585506

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我就是你的语法糖️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值