MUI框架-13-使用百度地图 API(图文教程)

后面有实例,转载请注明出处

一、申请百度地图权限

1.打开

百度地图开放平台:http://lbsyun.baidu.com/apiconsole/key

2.【创建应用】>【填写必要信息】

【提示】:

1.应用名称:随便填写。

2.应用类型:选择Android SDK

3. 启用服务:建议全选

4.发布版SHA1:BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58(DCloud公用证书SHA1)

5.开发版SHA1:BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58(DCloud公用证书SHA1)

6.包名获取方式>点击发行【云打包】:

3.点击【提交】,就可以创建一个应用,

二、配置应用

1.配置应用,把 Android SDK AK 或者 IOS SDK AK 与MUI manifest.json 配置百度地图的 SDK 对应上


2.转至 manifest.json 代码视图,下面如果已经存在就不用添加了

(1)"permissions"节点下添加

"Maps": {
"description": "管理地图插件"

(2)在"plus"节点->"distribute"节点下添加


"plugins": {
"maps": {
"baidu": {
"appkey_ios": "之前上面创建ISO SDK AK",
"appkey_android": "之前上面创建Android SDK AK",
"appkey": "",
"description": "百度地图"
}
}
}

三、在页面上使用

至此配置完成,以下为页面使用方式。

1.为了确保地图能正确显示,需等待DOM加载完成再初始化百度地图

2.地图div需指明高度与宽度

var em = null,
map = null;
document.addEventListener("DOMContentLoaded", function() {
em = document.getElementById("allmap");//allmap为页面放地图div的id
plusReady();
}, false);
function plusReady() {
//确保DOM解析完成
if(!em || !window.plus || map) {
return;
}
map = new plus.maps.Map("allmap");//allmap为页面放地图div的id
}

四、参考案例

完整代码:

<!DOCTYPE html>
<html> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<script src="../../js/mui.min.js"></script>
<style type="text/css">
body,
html,
#allmap {
width: 100%;
height: 80%;
overflow: hidden;
font-family: "微软雅黑";
}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=换成自己的百度地图提供的 ak"></script>
<title>地图展示</title>
</head> <body>
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">签到打卡</h1>
</header> <div id="allmap"></div>
<input type="text" id="address" />
</body> </html>
<script type="text/javascript"> var map = new BMap.Map("allmap");
//初始化地图 默认加载北京天安门
var point = new BMap.Point(116.331398, 39.897445);
map.centerAndZoom(point, 16); //初始化地图,point为中心点,缩放级别为16
//判断手机浏览器是否支持定位
if(navigator.geolocation) {
var geolocation = new BMap.Geolocation(); //创建定位实例
geolocation.getCurrentPosition(showLocation, {
enableHighAccuracy: true
}); //enableHighAccuracy 要求浏览器获取最佳结果
} else {
map.addControl(new BMap.GeolocationControl()); //添加定位控件 支持定位
}
var gc = new BMap.Geocoder();//将坐标转换成地址 //处理定位后的信息
function showLocation(r) {
if(this.getStatus() == BMAP_STATUS_SUCCESS) { //定位成功
//新建中心点 并将地图中心移动过去
var centerPoint = new BMap.Point(r.longitude, r.latitude);
map.panTo(centerPoint);
map.setCenter(centerPoint);
gc.getLocation(centerPoint,function(rs){
var addComp = rs.addressComponents;
var mapAddress = addComp.province + addComp.city + addComp.district
+ addComp.street + addComp.streetNumber;
//mui.alert(mapAddress);
var address = document.getElementById('address');
address.value=mapAddress;
address.readOnly='readonly'; });
//新建标注
var mk = new BMap.Marker(centerPoint);
mk.disableDragging(); // 不可拖拽
map.addOverlay(mk);
} else {
mui.alert('failed' + this.getStatus()); //定位失败
}
}
</script>

五、更多链接:

地图已经配置、创建完成,需要使用一些工具/方法请参考

1.Dcloud API Reference:http://www.html5plus.org/doc/zh_cn/maps.html

2.百度地图官方使用文档:http://lbsyun.baidu.com/index.php?title=androidsdk/guide/key

我的文章:MUI 框架


- 本笔记不允许任何个人和组织转载

MUI框架-13-使用百度地图 API(图文教程)的更多相关文章

  1. 同步和异步概念(由DZW前端框架引发的百度地图api无法加载问题总结)

    首先概念: 在计算机领域,同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去:异步是指进程不需要一直等下去,而是继续 ...

  2. 百度地图Api进阶教程-点击生成和拖动标注4.html

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  3. 百度地图Api进阶教程-基础地图示例1.html

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  4. 百度地图Api进阶教程-实例高级操作8.html

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  5. 百度地图Api进阶教程-地图鼠标左右键操作实例和鼠标样式6.html

    <!DOCTYPE html> <html> <head> <meta name="viewport" content="ini ...

  6. 百度地图Api进阶教程-弹出信息窗口5.html

    <!DOCTYPE html> <html> <head> <meta name="viewport" content="ini ...

  7. 百度地图Api进阶教程-创建标注和自定义标注3.html

    <!DOCTYPE html> <html> <head> <meta name="viewport" content="ini ...

  8. 百度地图Api进阶教程-默认控件和自定义控件2.html

    <!DOCTYPE html> <html> <head> <meta name="viewport" content="ini ...

  9. 百度地图Api进阶教程-用户自定义数据(标记和搜索)7.html

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

随机推荐

  1. FZU_1894 志愿者选拔 【单调队列】

    1 题面 FZU1894 2 分析 单调队列的典型引用 需要注意的是在用维护辅助队列的时候,$L$和$R$的初始化都是0时,队列第一个数就是$L$,最后一个数就是$R-1$. 3 AC代码 #incl ...

  2. JavaScript数据结构-14.集合

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. QQ空间首页背景图片淡出解析与不足完善

    一件事情的发生总是有原因的,当然更多的是对技术本身的追求,一定要搞懂啦,废话不多说,大宝剑直插主题. 起因 以前做过一个xx项目,在登陆界面背景图片中,直接引用了一张大图,css类似于这样(backg ...

  4. maven备忘

    maven常见命令 mvn clean mvn compile mvn package mvn clean compile package mvn -Djetty.port= jetty:run mv ...

  5. Java 动态代理机制分析及扩展--转

    http://www.ibm.com/developerworks/cn/java/j-lo-proxy1/#icomments http://www.ibm.com/developerworks/c ...

  6. CADisplayLink+弹簧动画实现果冻效果

    项目中在Tabbar中间的按钮要从底部弹出视图并有果冻效果,在CocoaChina中找了一篇博客用 UIBezierPath 实现果冻效果,github,自己就按着上面的demo修改了一下( 之前也是 ...

  7. Spring---AOP与DI的初步理解

    依赖注入 依赖注入并没有我们听上去那么复杂,在项目中应用依赖注入,会使代码变的异常简单,更易于理解和测试. 任何一个有实际意义的应用,都是多个类组成,这些类之间相互协作,来实现特定的业务逻辑,通常,每 ...

  8. 欢迎来到GIS思考者的博客www.gisthinker.com

    我是一名GIS爱好者,这是我的个人博客,欢迎点击: GIS思考者:www.gisthinker.com

  9. 使用StackPanel进行简单地布局

    尽管StackPanel非常简单,但是其实用性也非常强 ,Stackpanel将子元素以堆叠的形式 排列在一行或一列.通常建议使用该控件对于一些小范围内的控件进行布局. 如果要架设用户控件的框架结构, ...

  10. D3基础--数轴

    转载请注明出处! 概述: 与比例尺类似,D3的数轴实际上也使用来定义参数的函数.但与比例尺不同的是,调用数轴函数并不会返回值,而是会生成数轴相关的可见元素.包括:轴线,标签和刻度. 但是要注意数轴函数 ...