• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

vue使用Google地图的实现示例代码

vue 搞代码 4年前 (2022-01-08) 32次浏览 已收录 0个评论

这篇文章主要介绍了vue使用Google地图的实现示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

最近用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"></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  <div class="container"> <div id="allmap"></div></div> export default { mounted(){ //在mounted中执行地图方法,mapData为要展示的数据 this.initMap(mapData); } methods:{ initMap(mapData) { let that = this; // 创建google地图 this.maps = new googl<span style="color:transparent">来1源gaodai#ma#com搞*代#码1网</span>e.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-600"; let imagered = "@/img/map_red.png-600"; let imagegray = "@/img/map_gray.png-600"; 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="margin-bottom:5px"><span style="width:12px;height:12px;background:#4ECC77"></span><span style="margin-left:5px;color:#4ECC77">可用电池 ' + +currData.available + '<span style="width:12px;height:12px;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。希望对大家的学习有所帮助,也希望大家多多支持gaodaima搞代码网

您可能感兴趣的文章:

  • 2种在vue项目中使用百度地图的简单方法
  • 在vue项目中引入高德地图及其UI组件的方法
  • 详解vue.js下引入百度地图jsApi的两种方法
  • vue项目中使用百度地图的方法
  • 浅谈Vue下使用百度地图的简易方法
  • Vue的百度地图插件尝试使用
  • vue如何集成raphael.js中国地图的方法示例
  • vue高德地图之玩转周边
  • vue基于Vue2.0和高德地图的地图组件实例
  • vue调用高德地图实例代码

以上就是vue使用Google地图的实现示例代码的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:vue使用Google地图的实现示例代码

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址