腾讯地图js版本和gljs版本使用瓦片地图

项目需要使用腾讯地图展示瓦片地图,今天记录一下,项目刚开始引用的是js版本的地图,按照官方文档修改后竟然没有变化,而且还报错了,头大,出去一根烟的时间,回来自己就可以展示了,这就上升到灵异事件了,不过还好最后展示出来了,不晓得什么原因导致第一次会有一些延迟,后面一直没有遇到相似的问题,很奇怪,如果有大佬晓得踢小弟一脚

vue 项目需要在index.html里面引入相对应的js

js版本

<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77"></script>

gljs版本

<script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.exp&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77"></script>

两个版本应用一个就可以了,下面是相对应的使用瓦片操作

<template>
  <div class="doMap">
    <div id="mapDiv" ref="mapDiv"></div>
  </div>
</template>

<script>
export default {
  name: 'doMap',
  data() {
    return {
      map: '',
    }
  },
  mounted() {
    // 初始化地图
    this.initMap()
  },

  methods: {
    // 初始化地图
    initMap() {

      // js版本瓦片
      /******  js版本瓦片 start  ******/
      // 配置瓦片信息
      var earthlayer = new qq.maps.ImageMapType({
        tileSize: new qq.maps.Size(256, 256),
        minZoom: 10,
        maxZoom: 21,
        opacity: 0.5,
        getTileUrl: function (tile, zoom) {
          var z = zoom,
            x = tile.x,
            y = tile.y;
          return '远程图片地址/' + z + '/' + x + '_' + y + '.png';
        }
      });

      this.map = new qq.maps.Map(this.$refs.mapDiv, {
        center: new qq.maps.LatLng(39.916527, 116.397128), // 设置地图中心点坐标
        zoom: 13, // 设置地图缩放级别
        viewMode: '2D',
      })

      this.map.overlayMapTypes.push(earthlayer);

      /******  js版本瓦片 end  ******/


      /******  gljs版本瓦片 start  ******/

      // this.map = new TMap.Map(this.$refs.mapDiv, {
      //   center: new TMap.LatLng(this.centerPoi.lat, this.centerPoi.lng), // 设置地图中心点坐标,//设置地图中心点坐标
      //   zoom: zoom,   //设置地图缩放级别
      //   viewMode: '2D',
      // });
      // //初始化imageTileLayer  ,配置瓦片信息
      // new TMap.ImageTileLayer({
      //   getTileUrl: function (x, y, z) {
      //     //拼接瓦片URL
      //     var url = '远程图片地址/' + z + '/' + x + '_' + y + '.png';
      //     return url;
      //   },
      //   minZoom: 10,    //显示自定义瓦片的最小级别
      //   maxZoom: 21,    //显示自定义瓦片的最大级别
      //   visible: true,  //是否可见
      //   opacity: 0.95,   //图层透明度:1不透明,0为全透明
      //   map: this.map,       //设置图层显示到哪个地图实例中
      // });

      /******  gljs版本瓦片 end  ******/

    },
  }
}
</script>

<style lang="scss" scoped>
.doMap{
  width: 500px;
  height: 500px;
}
</style>

好的,以下是完整的JS代码: ``` // 引入腾讯地图API的JS文件和CSS文件 <script type="text/javascript" src="https://map.qq.com/api/js?v=2.exp&key=YOUR_KEY"></script> <link rel="stylesheet" href="https://map.qq.com/api/gljs/v1.0.0/gl.css"> // 创建一个地图对象 var map = new qq.maps.Map(document.getElementById("map"),{ center: new qq.maps.LatLng(39.916527,116.397128), zoom: 13 }); // 创建多个标注对象,并设置其位置、标题和内容 var marker1 = new qq.maps.Marker({ position: new qq.maps.LatLng(39.910528,116.397428), map: map, title:"标注1", content:"这是标注1的内容" }); var marker2 = new qq.maps.Marker({ position: new qq.maps.LatLng(39.912528,116.393428), map: map, title:"标注2", content:"这是标注2的内容" }); // 创建信息窗口对象,用于显示标注的详细信息 var infoWin = new qq.maps.InfoWindow({ map: map }); // 为每个标注对象添加点击事件,点击时显示相应的信息窗口 qq.maps.event.addListener(marker1, 'click', function() { infoWin.setContent(marker1.content); infoWin.open(); }); qq.maps.event.addListener(marker2, 'click', function() { infoWin.setContent(marker2.content); infoWin.open(); }); // 将所有标注对象添加到一个数组中,以便于管理和操作 var markers = [marker1, marker2]; ``` 其中,YOUR_KEY需要替换成你自己的腾讯地图API密钥。另外,还需要在HTML文件中添加一个div元素,用于显示地图: ``` <div id="map" style="width: 100%; height: 100%;"></div> ``` 这样就能够渲染多个标注并显示详细信息了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值