第一步 去高德地图开放平台申请密钥 高德地图开放平台
第二部 在vue-cli项目目录结构
里面多了config文件夹和 utils文件夹
config.js里面是这样的 主要是导出密钥
// 高德地图 key export const MapKey = '你的密钥key' // 地图限定城市 export const MapCityName = '武汉'
utils文件夹里面 新建路一个remoteLoad.js
主要是动态创建script标签 封装了一个函数 传入URL地址()
export default function remoteLoad (url, hasCallback) {
return createscript(url)
function createscript (url) {
var scriptElement = document.createElement('script')
document.body.appendChild(scriptElement)
var promise = new Promise((resolve, reject) => {
scriptElement.addEventListener('load', e => {
removescript(scriptElement)
if (!hasCallback) {
resolve(e)
}
}, false)
scriptElement.addEventListener('error', e => {
removescript(scriptElement)
reject(e)
}, false)
if (hasCallback) {
window.____callback____ = function () {
resolve()
window.____callback____ = null
}
}
})
if (hasCallback) {
url += '&callback=____callback____'
}
scriptElement.src = url
return promise
}
function removescript (scriptElement) {
document.body.removeChild(scriptElement)
}
}
第三步 在Home组件中
.m-map{ min-width: 500px; min-height: 300px; position: relative; } .m-map .map{ width: 100%; height: 100%; } .m-map .search{ position: absolute; top: 10px; left: 10px; width: 285px; z-index: 1; } .m-map .search input{ width: 180px; border: 1px solid #ccc; line-height: 20px; padding: 5px; outline: none; } .m-map .search button{ line-height: 26px; background: #fff; border: 1px solid #ccc; width: 50px; text-align: center; } .m-map .result{ max-height: 300px; overflow: auto; margin-top: 10px; }
第四步 在app.vue中 导入组件
body{ margin: 0; }
.page-header{
color: #fff; text-align: center; background: #159957;
background-image: -webkit-linear-gradient(330deg,#155799,#159957);
background-image: linear-gradient(120deg,#155799,#159957);
padding: 3rem 4rem; margin-bottom: 30px;
}
.page-header h1{ margin: 0; font-size: 40px; }
.page-header p{ color: #ccc; margin: 0; margin-bottom: 30px; }
.page-header a{ display: inline-block; border: 1px solid #fff; margin-right: 10px; line-height: 40px; padding: 0 20px; border-radius: 4px; color: #fff; text-decoration: none; transition: all .3s; }
.page-header a:hover{ background: #fff; color: #333; }
.g-wraper{ width: 1000px; margin: 0 auto; color: #666; font-size: 16px; line-height: 30px; }
.m-part{ margin-bottom: 30px; }
.m-part::after{ content: ''; display: block; clear: both; }
.m-part .title{ font-size: 30px; line-height: 60px; margin-bottom: 10px; color: #333; }
.m-part .mapbox{ width: 600px; height: 400px; margin-bottom: 20px; float: left; }
.m-part .info{ margin: 0; padding: 0; list-style: none; line-height: 30px; margin-left: 620px; }
.m-part .info span{ display: block; color: #999; }
.m-part ol{ line-height: 40px; margin-left: 0; padding-left: 0; }
.m-part pre{ padding: 10px 20px; line-height: 30px; border-radius: 3px; box-shadow: 0 0 15px rgba(0,0,0,.5); }
.m-footer{ background: #eee; line-height: 60px; text-align: center; color: #999; font-size: 12px; }
.m-footer a{ margin: 0 5px; color: #999; text-decoration: none; }
上面 地图初始化渲染的方法 直接拿别人封装好的东西
最后运行后
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



