关于vue引用天地图报错 T is not defined总结
首先试过了timeout的方法,但可能是个人情况不一样,并没有解决该问题
mounted() {
setTimeout(index=>{
this.onLoad()
},500)
}
onLoad() {
this.map = new T.Map("mapDiv");
...
}
后面看到了另一位大佬文章里面的相关注释才知道仅仅只差了一行代码
mounted() {
this.initwxMap();
},
onLoad() {
var T = window.T;
this.map = new T.Map('mapDiv')
this.map.centerAndZoom(new T.LngLat(this.position.lon, this.position.lat), this.zoom)
let ctrl = new T.Control.MapType([
{
title: '地图',
icon: 'http://api.tianditu.gov.cn/v4.0/image/map/maptype/vector.png',
layer: TMAP_NORMAL_MAP
},
{
title: '卫星混合',
icon: 'http://api.tianditu.gov.cn/v4.0/image/map/maptype/satellitepoi.png',
layer: TMAP_HYBRID_MAP
},
{
title: '卫星',
icon: ' http://api.tianditu.gov.cn/v4.0/image/map/maptype/satellite.png',
layer: TMAP_SATELLITE_MAP
}])
let scale = new T.Control.Scale({
})
let miniMap = new T.Control.OverviewMap({
isOpen: true,
size: new T.Point(150, 150),
})
ctrl.setPosition(T_ANCHOR_BOTTOM_LEFT)
scale.setPosition(T_ANCHOR_BOTTOM_LEFT)
this.map.addControl(ctrl)
this.map.addControl(scale)
this.map.addControl(miniMap)
this.map.enableScrollWheelZoom()
this.map.setMapType(TMAP_HYBRID_MAP)
let polygonTool = new T.PolygonTool(this.map, this.config)
}
}
第一个方法原文地址
第二个方法原文地址
本文仅为记录本小白在前端遇见的一些问题