UniApp调用腾讯地图TMap

方法有二种:

第一种:在要目录App.vue文件的onLauch里加入

onLaunch: function() {

/*动态引入script 腾讯地图*/

      const script = document.createElement('script') script.src = 'https://map.qq.com/api/gljs?v=1.exp&key=你的key&libraries=tools'

document.body.appendChild(script)

}

第二种:在要目录*****.vue文件的mounted里加入

mounted() {
  try {
    if (window.TMap) {
      //todo 如果能访问到TMap直接初始化
      this.initMap()
    } else {
      //todo 动态引入
      const script = document.createElement('script');
      script.src = "https://map.qq.com/api/gljs?v=1.exp&key=你的key&libraries=tools";
      script.onload = () => {
        //todo 初始化地图
        this.initMap();
      }
      document.body.appendChild(script);
    }
  } catch (e) {
    console.log('mounted 时出错', e)
  }

}

初始化地图

//初始化地图
async initMap() {

  let latitude= ...
  let longitude=...

  try { //定义map变量,调用 TMap.Map() 构造函数创建地图

    const _this = this
    let map = _this.map
    if (map) {
      map.setMap(null)
      map = null
    }

    let center = new TMap.LatLng(latitude, longitude)

    this.map = await new TMap.Map(
        document.getElementById('container'),
        {
          center: center, //设置地图中心点坐标
          zoom: 12 //设置地图缩放级别
        }
    )

  } catch (e) {
    console.log('初始化地图时出错 出错', e)
  }
},

结束语

window.TMap的判断是非常重要的。很多人不做判断直接用。造成问题找来找去,找出出问题。

相关其它TMap接口,查看对应官网

示例效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在uniapp中使用腾讯地图并生成路线,你需要进行以下步骤: 1. 首先,确保你已经在uniapp项目中引入了腾讯地图SDK。你可以在 `manifest.json` 文件中的 `app-plus` -> `usingComponents` 中添加 `tmap` 组件来引入腾讯地图。 2. 在页面中使用腾讯地图组件,并设置好地图的样式和初始位置。你可以在页面的 `template` 中添加以下代码: ```html <tmap id="map" style="width: 100%; height: 400px;"></tmap> ``` 3. 在页面的 `script` 中初始化地图,并设置起点和终点的坐标。你可以使用腾讯地图提供的 `qq.maps.DirectionsService` 来生成路线。以下是一个示例代码: ```javascript export default { mounted() { // 初始化地图 const map = new qq.maps.Map(this.$refs.map, { center: new qq.maps.LatLng(39.916527, 116.397128), // 设置地图的初始中心位置 zoom: 13, // 设置地图的缩放级别 }); // 设置起点和终点的坐标 const start = new qq.maps.LatLng(39.912992, 116.397389); // 起点坐标 const end = new qq.maps.LatLng(39.908748, 116.397778); // 终点坐标 // 创建 DirectionsService 对象并设置起点和终点 const dirService = new qq.maps.DirectionService({ complete: function(result) { // 路线规划完成后的回调函数 if (result.status === qq.maps.DirectionsStatus.OK) { const route = result.detail.routes[0]; // 在地图上绘制路线 const routeLine = new qq.maps.Polyline({ path: route.path, map: map, }); } } }); // 发起路线规划请求 dirService.route({ start: start, end: end, policy: qq.maps.DrivingPolicy.LEAST_TIME, // 设置驾车策略,可以根据需求调整 }); }, }; ``` 这样,当页面加载完成后,地图就会显示,并且生成起点到终点的路线。 请注意,上述代码中的坐标仅作为示例,请根据实际情况修改。此外,还可以根据需求设置其他路线规划参数,如避开某些道路等。具体的参数和用法可以参考腾讯地图API文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值