zoukankan      html  css  js  c++  java
  • vue中引入腾讯地图,并为多个marker添加事件

    一、在src里面建立了TMap.js的文件,内容如下:

    export function TMap(key) {
        return new Promise(function (resolve, reject) {
            window.init = function () {
                resolve(qq)//注意这里
            }
            var script = document.createElement("script");
            script.type = "text/javascript";
            script.src = "https://map.qq.com/api/js?v=2.exp&callback=init&key="+key;
            script.onerror = reject;
            document.head.appendChild(script);
        })
    }

    二、引入TMap

    TMap('申请的腾讯地图key').then()   

     
    data () {
      return {
        key: 'IOHBZ-EV2R3-4BU3N-YEQN7-AQMYF-7XFF4'
      }
    },
    mounted () {
      this._getLocation()
    },
    methods:{
           _getLocation(){
                    getLocation(this.orgId).then(res=>{
                        let data = res.data.data.librarys
                        this._TMap(data)
                    })
                },
                _TMap(data){
                    TMap(this.key).then(qq => {
                        var center = new qq.maps.LatLng(39.916527,116.397128);
                        var map = new qq.maps.Map(document.getElementById("container"), {
                            // 地图的中心地理坐标
                            center: center,
                            //初始化地图缩放级别
                            zoom: 5
                        });
                        //添加提示窗
                        var infoWin = new qq.maps.InfoWindow({
                            map: map
                        });
                        //添加标记
                        for(let i=0;i<data.length;i++){
                            var marker = new qq.maps.Marker({
                               position: new qq.maps.LatLng(data[i].lat,data[i].lng),
                               map: map,
                            })
                            marker.libraryName = data[i].libraryName
                            qq.maps.event.addListener(marker, 'click', function() {
                                infoWin.open();
                                infoWin.setContent('<div style="text-align:center;white-space:'+
                                'nowrap;margin:10px;"> ' + this.libraryName+ ' </div>');
                                //提示窗位置
                                infoWin.setPosition(new qq.maps.LatLng(data[i].lat,data[i].lng));
                            })
                        }
                    });
                },
    }
    
    
    
     

    三、效果如下

  • 相关阅读:
    九九乘法表
    计算器实现
    分装的日期类
    杨辉三角
    99乘法表
    素数
    java输出100以内质数
    跳台阶
    Counting Sheep
    课上作业
  • 原文地址:https://www.cnblogs.com/wangdashi/p/9522044.html
Copyright © 2011-2022 走看看