<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        vue使用Google地圖的實現示例代碼

        來源:懂視網 責編:小采 時間:2020-11-27 22:02:24
        文檔

        vue使用Google地圖的實現示例代碼

        vue使用Google地圖的實現示例代碼:最近用Vue開發后臺系統時,有些數據需要在地圖上標注出來,需要用到地圖功能,因為是國際項目,國內的地圖不太適用,所以選用了Google地圖,谷歌地圖API: https://developers.google.cn/maps/documentation/javascript/tutorial
        推薦度:
        導讀vue使用Google地圖的實現示例代碼:最近用Vue開發后臺系統時,有些數據需要在地圖上標注出來,需要用到地圖功能,因為是國際項目,國內的地圖不太適用,所以選用了Google地圖,谷歌地圖API: https://developers.google.cn/maps/documentation/javascript/tutorial

        最近用Vue開發后臺系統時,有些數據需要在地圖上標注出來,需要用到地圖功能,因為是國際項目,國內的地圖不太適用,所以選用了Google地圖,谷歌地圖API: https://developers.google.cn/maps/documentation/javascript/tutorial 。

        一、必須的開發要求

        1.獲取密鑰API Key

        首先,要使用Google Maps JavaScript API,必須獲取一個可用的API密鑰,并且必須啟用結算,具體獲取步驟可百度查詢,在此就不一一敘述了,主要想講的地圖用法。

        2.海外服務器IP

        .想要使用谷歌地圖就需要翻墻了,公司購買的是發條云的賬號,在瀏覽器上下載發條云安裝,安裝好之后輸入用戶賬號和密碼進行登錄,就可以選擇服務器進行操作了。

        海外模式的網速比較慢,一般開發谷歌地圖的時候,我才打開。

        二、引入谷歌插件

        使用npm進行引入:

        npm install vue-google-maps
        //mian.js中:
        import 'vue-googlemaps/dist/vue-googlemaps.css'
        import VueGoogleMaps from 'vue-googlemaps'
        Vue.use(VueGoogleMaps, {
         load: {
        //填入申請的apiKey賬號
         apiKey: '',
         libraries: ['places'],
         useBetaRenderer: false,
         },
        })

        三、使用谷歌插件

        1.使用方法

        //創建dom
        <div id="allmap" ref="allmap"></div>
         //創建谷歌地圖
         this.maps = new google.maps.Map(document.getElementById("allmap"), {
         //顯示一個滑動條來控制map的Zoom級別
         zoom: 13,
         //設置地圖中心點
         center: { lat: mapData[0].latitude, lng: mapData[0].longitude },
         //為了關閉默認控件集,設置地圖的disableDefaultUI的屬性為true
         disableDefaultUI: true,
         // 通過單擊縮放控件來縮放地圖
         gestureHandling: 'cooperative', 
         // 刪除地圖上的“ 縮放”控件按鈕。
         zoomControl: false,
         // 控制地圖的類型 roadmap 地圖 terrain 地圖地形 
         satellite 衛星圖像 hybrid 衛星圖像+地名
         mapTypeId: 'satellite', 
         //語言可選值:en,zh_en, zh_cn
         language: zh_en 
         
         // 添加標記 (紅色的標點)
         let marker = new google.maps.Marker({
         //標點的位置
         position: { lat: 22.5397965915, lng: 114.0611121534 },
         map: this.maps,
         //標點的名稱
         title: "中華人民共和國",
         //標點中的文字
         label: "SZ",
         //標點的動畫
         animation: google.maps.Animation.DROP
         });
         // 創建消息窗口DOM,將內容包裝在HTML DIV中,以便設置InfoWindow的高度和寬度。
         let contentString =
         '<div class="content"><h3>地圖</h3><p>測試數據</p></div>';
         //地圖的消息窗口:InfoWindow
         let infowindow = new google.maps.InfoWindow({
         content: contentString
         });
         // 點擊標點事件
         marker.addListener("click", function() {
         infowindow.open(this.maps, marker);
         });

        示例圖片:

        2.結合項目

        //mapPAge.vue
        <template>
         <div class="container">
         <div id="allmap" ref="allmap"></div>
         </div>
        </template>
        <script>
        export default {
         mounted(){
         //在mounted中執行地圖方法,mapData為要展示的數據
         this.initMap(mapData);
        }
         methods:{
         initMap(mapData) {
         let that = this;
         // 創建google地圖
         this.maps = new google.maps.Map(document.getElementById("allmap"), {
         zoom: 13,
         //地圖中心點,這里我以第一個數據的經緯度來設置中心點
         center: { lat: mapData[0].latitude, lng: mapData[0].longitude },
         disableDefaultUI: false,
         zoomControl: false 
         }); 
         // 設置滿足條件的自定義標記圖標
         let imageblue = "@/img/map_blue.png";
         let imagered = "@/img/map_red.png";
         let imagegray = "@/img/map_gray.png";
         let infoWindow = new google.maps.InfoWindow();
         // 循環渲染數據
         mapData.map(currData=>{
         // 判斷當前圖片
         let currImg = "";
         if (currData.line == 0) {
         currImg = imagegray;
         } else {
         if (currData.available >= 4) {
         currImg = imageblue;
         } else {
         currImg = imagered;
         }
         }
         let marker = new google.maps.Marker({
         position: { lat: currData.latitude, lng: currData.longitude },
         map: this.maps,
         title: currData.name,
         // 此處的icon為標記的自定義圖標
         icon: currImg,
         animation: google.maps.Animation.DROP
         });
         
         //多個標記點的點擊事件
         (function(marker, currData) {
         google.maps.event.addListener(marker, "click", function(e) {
         let currLine =
         currData.line == 1? '在線': '離線';
         //設置消息窗口的統一內容
         infoWindow.setContent(
         '<div class="content"><h3 style="margin-bottom:5px;font-size:20px;">' +
         currData.name +
         '</h3><p style="margin-bottom:5px;font-size:16px;">' +
         currData.address +
         '</p></h3><p style="display: flex;align-items:center;margin-bottom:5px;"><span style="display:inline-block;width:12px;height:12px;border-radius:50%;background:#4ECC77;"></span><span style="margin-left:5px;color:#4ECC77;">可用電池 ' +
         +currData.available +
         '<span style="display:inline-block;width:12px;height:12px;border-radius:50%;background:#FF485C;margin-left:25px;"></span><span style="margin-left:5px;color:#FF485C;">空倉 ' +
         +currData.empty +
         '</span></p><p style="color:#333;margin-top:5px;">機柜狀態:<span style="color:#000;">' +currLine+
         '</span></p><p style="color:#333;margin-top:5px;">地理位置:<span style="color:#000;">lat:' +
         currData.latitude +
         ";log:" +
         currData.longitude +
         "</span></p></div>"
         );
         //調用 infoWindow.open
         infoWindow.open(this.maps, marker);
         });
         })(marker, currData);
         })
         }
         }
         }

        示例圖片:

        以上使用的是谷歌地圖的基本內容,有興趣的小伙伴兒可以查看谷歌官方文檔,查看更多內容,使用更多功能O(∩_∩)O。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        vue使用Google地圖的實現示例代碼

        vue使用Google地圖的實現示例代碼:最近用Vue開發后臺系統時,有些數據需要在地圖上標注出來,需要用到地圖功能,因為是國際項目,國內的地圖不太適用,所以選用了Google地圖,谷歌地圖API: https://developers.google.cn/maps/documentation/javascript/tutorial
        推薦度:
        標簽: 使用 VUE 地圖
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲成年网站在线观看| 亚洲黄色免费电影| 久久亚洲AV成人无码国产电影| 国产精品免费无遮挡无码永久视频| 国产成人麻豆亚洲综合无码精品 | 久久精品国产亚洲av麻豆图片 | 免费看国产精品3a黄的视频| 人妻仑刮八A级毛片免费看| 免费看片A级毛片免费看| 亚洲精品无码mⅴ在线观看| 拔擦拔擦8x华人免费久久| 亚洲av综合av一区二区三区| 国产男女性潮高清免费网站| 成人亚洲国产精品久久| 亚洲国产精品一区二区第四页| 成年网站免费入口在线观看| 亚洲婷婷五月综合狠狠爱| 国产在线一区二区综合免费视频| 在线看片免费不卡人成视频| 国产成人亚洲综合网站不卡| 国产免费久久精品久久久| 一边摸一边桶一边脱免费视频| 亚洲伊人色欲综合网| 中文字幕天天躁日日躁狠狠躁免费| 亚洲婷婷在线视频| www.91亚洲| 无码人妻精品中文字幕免费 | 国产精品免费大片一区二区| 亚洲AV无一区二区三区久久| 成人免费视频69| 日韩大片在线永久免费观看网站 | 国内外成人免费视频| 午夜在线免费视频| 亚洲A∨无码一区二区三区| 国产免费av片在线看| 美美女高清毛片视频黄的一免费| 亚洲精品乱码久久久久久自慰| 日本最新免费网站| 草久免费在线观看网站| 精品无码一区二区三区亚洲桃色 | 亚洲综合色自拍一区|