vue項目引入第三方高德地圖實現標點定位


    vue項目中,高德地圖使用。

  引入vue中。異步導入vue中。

   gaoDe(key) {
                        window.onApiLoaded = function () {
                            var map = new AMap.Map('container', {
                                resizeEnable: true,
                                center: [113.951955, 22.530825],
                                zoom: 16
                            });
                            
                        }
                        var url = `https://webapi.amap.com/maps? v=1.4.15&key=${key}&callback=onApiLoaded`;    
                        var jsapi = document.createElement('script');
                        jsapi.charset = 'utf-8';
                        jsapi.src = url;
                        document.head.appendChild(jsapi);
                    
        mounted() {
                    this.gaoDe('key');
                },   

  在vue組件中使用,直接寫在mouted中會出現AMap未定義的報錯!

  目前,個人是使用定時器解決的。

            // 地圖接口API
                    mapCom() {
                        let _this = this;
                        window.onLoad = function () {
                            var map = new AMap.Map('mapBox', {
                                resizeEnable: true,
                                center: [113.951955, 22.530825],
                                zoom: 16
                            });
                            // console.log( _this.mapArray);
                            // 渲染坐標
                            // console.log(_this.status==false)

                            setTimeout(() => {
                                if (_this.status == false) {
                                    return;
                                }
                                // console.log(_this.mapArray);
                                _this.mapArray.forEach(item => {
                                    // console.log(item)
                                    var marker = new AMap.Marker({
                                        map: map,
                                        icon: "//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png",
                                        position: item,
                                        offset: new AMap.Pixel(-10, -30)
                                    });
                                })
                            }, 1000)
                            // console.log(_this.mapArray);
                            map.plugin(["AMap.ToolBar"], function () {
                                map.addControl(new AMap.ToolBar());
                            });
                        }
                        var url = `https://webapi.amap.com/maps?v=1.4.15&key=91d89e79a544b9ab37aa0147aec9bd0a&callback=onLoad`;
                        var jsapi = document.createElement('script');
                        jsapi.charset = 'utf-8';
                        jsapi.src = url;
                        document.head.appendChild(jsapi);

                    },

  

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM