vue 天地图 T is not defined
vue 天地图 T is not defined
·
关于vue引用天地图报错 T is not defined总结
首先试过了timeout的方法,但可能是个人情况不一样,并没有解决该问题
mounted() {
setTimeout(index=>{
this.onLoad()
},500)
}
onLoad() {
this.map = new T.Map("mapDiv");
...
}
后面看到了另一位大佬文章里面的相关注释才知道仅仅只差了一行代码
mounted() {
this.initwxMap();
},
onLoad() {
// vue项目需要先声明 T = window.T,不然后面无法获取到。
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', //地图控件上所要显示的图层图标(默认图标大小80x80)
layer: TMAP_NORMAL_MAP //地图类型对象,即MapType。
},
{
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 zoom_control = new T.Control.Zoom()
// 鹰眼控件
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)
// zoom_control.setPosition(T_ANCHOR_BOTTOM_LEFT)
//添加缩放平移控件
this.map.addControl(ctrl)
this.map.addControl(scale)
// this.map.addControl(zoom_control)
this.map.addControl(miniMap)
this.map.enableScrollWheelZoom()
this.map.setMapType(TMAP_HYBRID_MAP)
//创建标注工具对象
let polygonTool = new T.PolygonTool(this.map, this.config)
}
}
更多推荐
已为社区贡献2条内容
所有评论(0)