今天使用百度地图出现了一个问题,百度地图初始化后宽.高都是0,但是地图容器宽高都设置好的, 一开始怎么都排除不出问题,后来无语了,把布局直接复制进入百度地图的示例里运行发现没有问题, 所以想到不是百度地图的问题,而是我这个百度地图的容器是放在Vue的容器里的....... 测试后,果然如此,把地图的初始化放入vue的mounted() 函数里执行解决了问题.…
前言 最近做项目碰到一个很头大的问题--从a页面跳到b页面进行编辑,编辑完再返回a页面,却没走a页面的钩子函数mounted,数据没有更新 经过一番面向百度研究,终于找到了问题所在.接下来就记录一下这个问题及其解决的方法. 原理 其实这个问题主要涉及到vue生命周期,对vue生命周期理解不够深刻的同学可以去官网学习一下:https://vuejs.org/v2/api/#Options-Lifecycle-Hooks 解决这个问题的关键就在于对keep-alive的理解和activated钩子函…
1.index.html <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script> 2.vue组件,HTML部分 <template> <div class="firePower"> <div id="firePowerMap"></…
百度地图官网文档介绍使用JSSDK时,仅提供了2种引入方式: script引入 异步加载 解决跨域问题,实例调用百度地图 但vue项目中仅某一两个页面需要用到百度地图,所以不想在 index.html 中全局引用. 那在单个vue组件页面中如何引入呢? 刚开始时,是直接通过 DOM 操作方式插入script标签到当前document中,如下: let scriptNode = document.createElement("script"); scriptNode.setAttribu…
一.百度地图的初始化 主要用到三个类: 1.BMapManager:使用地图sdk前需先初始化BMapManager.BMapManager是全局的,可为多个MapView共用,它需要地图模块创建前创建, 并在地图地图模块销毁后销毁,只要还有地图模块在使用,BMapManager就不应该销毁.它属于地图引擎管理类. 最好在用一个自定义的继承于Application的类来依附Activity的生命周期,它有四个常用方法: public boolean start() //开启百度地图API pub…
新建map.js export const BaiduMap = { init: function() { const BMapURL = 'https://api.map.baidu.com/api?v=3.0&ak=' + AK + '&s=1&callback=onBMapCallback' return new Promise((resolve, reject) => { // 如果已加载直接返回 if (typeof BMap !== 'undefined') {…
1.使用百度地图api需要使用jsonp,来获取百度api的返回,因为vue不自带jsonp所以需要下载 安装jsonp npm i vue-jsonp -S 引入jsop import Vue from 'vue' import vueJsonp from 'vue-jsonp' Vue.use(vueJsonp) 2.下载百度地图插件npm i --save vue-baidu-map 引入百度地图   import BaiduMap from 'vue-baidu-map'   Vue.u…
百度地图 应用里面 自带地图 搜房网 下载百度地图的sdk 熟悉api 注冊百度开发人员的账号 2.12 仅仅要有一个ak就能够 高版本号须要提供应用程序的包名和签名返回开发人员的序列号 使用百度地图步骤 申请api key 创建project 引用函数库 armeabi 仅仅能兼容arme cpu 联网权限 初始化地图引擎 (2.13 在代码中初始化, 高版本号在清单文件里配置) 引用布局 MapView 显示地图 V 继承ViewGroup 自己定义控件 专门用来显示地图 1. MapCon…
百度地图官网文档介绍使用JSSDK时,仅提供了2种引入方式: script引入 异步加载 实际工作场景中仅某一两个页面或者只是单纯有功能需要用到百度地图,所以没有必要在 index.html 中全局引用. 利用之前博客所写的JavaScript---动态加载script和style样式进行操作,发现如下错误: Failed to execute 'write' on 'Document': It isn't possible to write into a document from an as…
因为随着百度地图的api的升级,测距的函数以及语句都发生的一定变化. 在调用api测距的时候通常我们使用的是语句map.getDistance(marker1,marker2); 但为什么这么简单的测距语句会显示NaN呢,也就是你的有一个点并不是所谓的坐标点.这个苦恼了我很久,因为百度知道上关于确定一个点的坐标都用的是老版本的语句,所以造成了这种后果.在这里要提醒大家,在百度地图api1.3之上的版本,获得marker坐标的语句是marker.getPosition(); 要通过比如marker…