Map.vue

<template>
<div class="Map" :style="{
height: this.height+'px',
width:this.width+ 'px'
}">
<div id="allmap"></div>
</div>
</template> <script>
/* eslint-disable quotes,camelcase */ import {MP} from "./js/map"
// import {MP} from "./js/BMap"
// import {Change} from './js/changeJingwei'
export default {
name: 'Map',
data () {
return {
ak: 'oWk8ofl3pI7jt4P9nng4cw2zyOQhY3pi'
}
},
mounted() {
this.$nextTick(function () {
MP("oWk8ofl3pI7jt4P9nng4cw2zyOQhY3pi").then( BMap => {
var th = this
var map = new BMap.Map("allmap"); // 创建Map实例
var point = new BMap.Point(116.404, 39.915); // 创建点坐标
map.centerAndZoom(point,15);
map.enableScrollWheelZoom();
var myValue
myValue = this.province+ this.city+ '' + '' + this.name; //传入相应参数 省、市、区、街道、名称 (内容可以为空)
setPlace();
function setPlace(){
map.clearOverlays(); //清除地图上所有覆盖物
function myFun(){
th.userlocation = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果
map.centerAndZoom(th.userlocation, 16);
map.addOverlay(new BMap.Marker(th.userlocation)); //添加标注
}
var local = new BMap.LocalSearch(map, { //智能搜索
onSearchComplete: myFun
});
local.search(myValue);
}
})
})
},
props: {
province: {
type: String
},
name: {
type: String
},
city: {
type:String
},
height: {
type: Number
},
width: {
type: Number
}
},
methods: {
sad(){
let map = new BMap.Map("allmap"); // 创建Map实例
map.centerAndZoom(new BMap.Point(116.331398, 39.897445), 10);
map.enableScrollWheelZoom(true);
map.clearOverlays();
console.log(data.result.location.lng);
console.log(data.result.location.lat);
let new_point = new BMap.Point(data.result.location.lng, data.result.location.lat);
let marker = new BMap.Marker(new_point); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
map.panTo(new_point);
map.setCurrentCity(this.province); // 设置地图显示的城市 此项是必须设置的
}
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
#allmap {
height: 100%;
width: 100%;
}
</style>

map.js

export function MP(ak) {
return new Promise(function (resolve, reject) {
window.init = function () {
resolve(BMap)
}
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://api.map.baidu.com/api?v=2.0&ak="+ak+"&callback=init";
script.onerror = reject;
document.head.appendChild(script);
})
}

你们的支持,是我坚持的动力~

最新文章

  1. 蓝牙Bluetooth技术小知识
  2. ACM_1001_Exponentiation 详解
  3. (转)WCF开发框架形成之旅---WCF的几种寄宿方式
  4. 在MFC中使用GDI+的一般方法,以VC6.0编译器为例
  5. 自然语言18_Named-entity recognition
  6. [知乎] 刚开始学习 iOS 开发有什么书推荐呢?
  7. Verilog篇(二)系统函数
  8. JDBC常用代码
  9. ThinkPad L421 如何禁用触摸板
  10. hibernate里createSQLQuery的addEntity()和setResultTransformer()方法
  11. How to define Servlet filter order of execution using annotations
  12. 使用 HTML5、CSS3 和 MathML 在 EPUB 3 中制作版式丰富的出版物
  13. java 表格项的删除、编辑、增加 修改版
  14. Entity Framework 重写OnModelCreating,控制生成表名的单复数
  15. Python 清理HTML标签相似PHP的strip_tags函数功能(二)
  16. 深入理解javascript原型和闭包(转)
  17. luogu P1003 铺地毯
  18. ztree实现中国省市区树形,可多选
  19. 蓝牙协议分析(3)_BLE协议栈介绍
  20. 记账本NABCD分析

热门文章

  1. Linux 服务器如何配置网站以及绑定域名
  2. 强连通分量tarjan缩点——POJ2186 Popular Cows
  3. Java 简单的 socket 编程入门实战
  4. nodeJS之URL
  5. HDU1002——大整数加法
  6. knockoutjs模板实现树形结构列表
  7. LR的响应时间与使用IE所感受时间不一致的讨论
  8. pwnable.kr memcpy之write up
  9. table之thead兼容
  10. Oracle dba_tablespace_usage_metrics 视图 查看表空间 说明