vue中利用openlayers加载天地图
首先在vue中安装openlayes依赖,现在推荐使用ol,ol需要一个一个的引入,我嫌麻烦就直接用的openlayers,我把openlayrs定义为全局变量,下载完openlayers依赖包后,在main.js里面引入,
import ol from ‘openlayers;
然后设置成全局属性
Vue.prototype.$ol=ol;
使用ol时,只需要使用this.$ol就可以了。
下面来说使用ol加载天地图
首先定义一个装载地图的容器,使用id进行标识,其他标识方式也可以试试
<div id=’map’>
</div>
然后在方法里写入
var ol = this.$ol;
// var $ = this.$jq;
var l1 = new ol.layer.Tile({
source: new ol.source.XYZ({
url: "http://t3.tianditu.com/DataServer?T=cta_w&x={x}&y={y}&l={z}"// 注记
})
});
var l2 = new ol.layer.Tile({
source: new ol.source.XYZ({
url: "http://t3.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}" // 行政区划
})
});
var map = new ol.Map({
target: 'map',
view: new ol.View({
center: ol.proj.fromLonLat([108.532, 34.145]),
zoom:5,
// minZoom: 5
}),
controls: [
]
});
map.addLayer(l1);
map.addLayer(l2);
直接新建两个图层l1 天地图的注记图层,l2天地图的行政区划图层, 区别就是source不同
然后建立map,target就是那个地图容器,view是视图,center设置中心点坐标,zoom为缩放级别,minZoom最小缩放级别。
controls:我给设置为空,不然就会出现ol底下的那个logo.
最后,用addLayer方法将l1、l2两个图层加入到map中。
另天地图有以下几种地图服
天地图还有多种服务类型
可见http://www.cnblogs.com/jcwn888/p/7943898.html
转载自:https://blog.csdn.net/xuerwang/article/details/82769871