国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答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
主站蜘蛛池模板: 国产成人综合久久精品尤物 | 亚洲精品福利在线观看 | 91精品久久久久久久久网影视 | 久久亚洲精品国产精品婷婷 | 国产一区三区二区中文在线 | 国产精品久久久久久久久免费 | 亚洲欧美精品伊人久久 | 国产美女一区二区 | 精品一区二区三区免费视频 | 欧美日韩国产精品va | 国产精品亚洲αv天堂2021 | 国产又黄又a又潮娇喘视频 国产淫视频 | 免费国产线观看免费观看 | 国产日韩在线播放 | 麻豆91精品91久久久 | 国产成人精品一区二区 | 91久久国产综合精品女同我 | 国产日产高清欧美一区二区三区 | 香蕉国产精品 | 欧美日韩专区 | 欧美日韩国产一区二区三区播放 | 午夜大片在线观看 | 北条麻妃在线播放 | 日本激情一区二区三区 | 亚欧在线观看 | 欧美极品第1页专区 | 国产在线精品一区二区 | 九一毛片 | 91久娇草 | 亚洲图片国产日韩欧美 | 亚洲精品国产第七页在线 | 久久精品成人一区二区三区 | 欧美专区亚洲 | 久久亚洲不卡一区二区 | 日韩中文字幕a | 亚洲欧美国产日本 | 婷婷在线视频观看 | 可以免费观看一级毛片黄a 另类国产精品一区二区 | 中文字幕高清 | 国产精品va在线观看一 | 自拍偷拍 欧美日韩 |