百度地图 创建 自定义控件(vue)
1.组件代码
Bmap.vue
<!-- 离线地图 组件 -->
<template>
<div id="map" :style="style"></div>
</template> <script>
export default{
data(){
return {
style:{
width:'100%',
height:this.height + 'px'
}
}
},
props:{
height:{
type:Number,
default:736 // 默认值
},
longitude:{
type:Number,
default:114.00100
}, // 经度
latitude:{
type:Number,
default:22.61067
} // 维度
},
mounted(){
let _this = this;
/**
* 百度地图API功能
*/
let map = new BMap.Map("map",{minZoom:12,maxZoom:18});
let point = new BMap.Point(this.longitude,this.latitude);
map.centerAndZoom(point,13); // 定义一个控件类,即function
function MessageControl(){
// 默认停靠位置和偏移量
this.defaultAnchor = BMAP_ANCHOR_TOP_RIGHT;
this.defaultOffset = new BMap.Size(10, 10);
} // 通过JavaScript的prototype属性继承于BMap.Control
MessageControl.prototype = new BMap.Control(); // 自定义控件必须实现自己的initialize方法,并且将控件的DOM元素返回
// 在本方法中创建个div元素作为控件的容器,并将其添加到地图容器中
MessageControl.prototype.initialize = function(map){
// 创建一个DOM元素
let div = document.createElement("div");
// 设置样式
div.style.height = "50px";
div.style.width = "50px";
div.style.backgroundImage = "url('./static/img/message_map.png')";
div.style.backgroundSize = "cover";
// 绑定事件,点击一次放大两级
div.onclick = function(e) {
// 将输入值传递给父组件
_this.$emit("showSideBar",true);
}
// 添加DOM元素到地图中
map.getContainer().appendChild(div);
// 将DOM元素返回
return div;
} // 创建控件
let messageCtrl = new MessageControl(); // 添加到地图当中
map.addControl(messageCtrl);
}
}
</script>
2.效果图

百度地图 创建 自定义控件(vue)的更多相关文章
- Vue系列:如何将百度地图包装成Vue的组件
主要分解为如下步骤: (1)在html文件中引入百度地图, <script type="text/javascript" src="http://api.map.b ...
- Vue系列:在vux的popup组件中使用百度地图遇到显示不全的问题
问题描述: 将百度地图封装成一个独立的组件BMapComponent,具体见 Vue系列:如何将百度地图包装成Vue的组件(http://www.cnblogs.com/strinkbug/p/576 ...
- 百度地图JS 搜索悬浮窗功能
这个需求的效果类似下面的截图,主要还是利用百度地图中自定义控件的功能,挺简单的.文档地址在这 http://lbsyun.baidu.com/index.php?title=jspopular 效果图 ...
- 百度地图API示例之添加自定义控件
代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" cont ...
- 百度地图 >> 自定义控件
前言 百度地图API中预定义的UI控件,比如NavigationControl平移缩放控件,CopyrightControl版权控件,MapTypeControl地图类型控件....,这些都继承自抽象 ...
- vue Baidu Map --- vue百度地图插件
vue Baidu Map 官网:https://dafrok.github.io/vue-baidu-map/#/zh/start/installation javascript 官网:http:/ ...
- Angular/Vue调用百度地图+标注点不显示图标+多标注点计算地图中心位置
整理一下~ 一.在vue中调用百度地图 首先当然是申请百度密匙(很简单,不多说) 1.在index.html文件中引入百度地图JavaScript API接口: <script type=& ...
- vue使用百度地图
1.在百度地图申请密钥:http://lbsyun.baidu.com/ 将 <script type="text/javascript" src="http:// ...
- 百度地图api添加自定义控件
官网栗子:http://lbsyun.baidu.com/jsdemo.htm#b0_6 <!DOCTYPE html><html><head> <meta ...
随机推荐
- js适配根字体大小
方法一:<script> (function (doc, win) { var docEl = doc.documentElem ...
- TensorFlow——深入MNIST
程序(有些不甚明白的地方改日修订): # _*_coding:utf-8_*_ import inputdata mnist = inputdata.read_data_sets('MNIST_dat ...
- “玲珑杯”ACM比赛 Round #23
A -- 生是脂肪的人 Time Limit:2s Memory Limit:128MByte Submissions:263Solved:97 DESCRIPTION 给定一个整数n,输出[(10^ ...
- iis上的反向代理
阅读文章: IIS上的反向代理 ARR(Application Request Routing)
- 进程,线程,以及Python的多进程实例
什么是进程,什么是线程? 进程与线程是包含关系,进程包含了线程. 进程是系统资源分配的最小单元,线程是系统任务执行的最小单元. 打个比方,打开word,word这个程序是一个进程,里面的拼写检查,字数 ...
- 【bzoj3166】[Heoi2013]Alo 可持久化Trie树+STL-set
题目描述 Welcome to ALO ( Arithmetic and Logistic Online).这是一个VR MMORPG ,如名字所见,到处充满了数学的谜题.现在你拥有n颗宝石,每颗宝石 ...
- gcd-模板+最小公倍数
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; int G ...
- 算法复习——区间dp
感觉对区间dp也不好说些什么直接照搬讲义了2333 例题: 1.引水入城(洛谷1514) 这道题先开始看不出来到底和区间dp有什么卵关系···· 首先肯定是bfs暴力判一判可以覆盖到哪些城市····无 ...
- Java-线索二叉树的实现
概念性的东西,自行百度. 按照国际管理,直接上代码来分析. 1.Node节点类 package com.tree.thread; /** * Author: lihao * Date:2017/8/3 ...
- wxpython example
#!/usr/bin/env python #---------------------------------------------------------------------------- ...