后面看到了另一位大佬文章里面的相关注释才知道仅仅只差了一行代码
文章链接:vue 天地图 T is not defined
vue项目需要先声明 T = window.T,不然后面无法获取到。
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) } }