做页面,地图可能会用到

1 导入百度地图的js库

<script type="text/javascript" src="http://api.map.baidu.com/getscript?v=1.4&ak=&services=&t=20150522093217"></script>

2 页面html相关标签

<div class="form-group">
<label class="control-label">地址:</label>
<input class="form-control input-md" ng-blur="initBap()"name="address" ng-model="address"/>
</div>
<!-- 百度地图显示区域 -->
<div class="form-group" id="container" style="width: 100%;height: 500px;"></div>

在这里,我是用了一个离焦事件,这个可以因情而异,另外我是angulatjs框架

3 下面就是js部分

/**
* 初始化地址
*/
$scope.address = null;
/**
* 初始化经度
*/
$scope.longitude = 121.48;
/**
* 初始化纬度
*/
$scope.latitude= 31.22;
/**
* 初始化百度地图
*/
$scope.initBap = function () {
$scope.map = new BMap.Map("container"); // 创建地图实例
$scope.map.centerAndZoom(new BMap.Point($scope.longitude, $scope.latitude), 18); // 初始化地图,设置中心点坐标和地图级别
$scope.map.addControl(new BMap.NavigationControl());
$scope.map.addControl(new BMap.ScaleControl());
$scope.map.addControl(new BMap.OverviewMapControl());
$scope.map.enableScrollWheelZoom(true);
// 创建地址解析器实例
$scope.myGeo = new BMap.Geocoder();

/**
* 监听地图点击事件,获取点击处建筑物名称
*/
$scope.map.addEventListener("click", function (e) {
var pt = e.point;
$scope.longitude = pt.lng;
$scope.latitude = pt.lat;
console.log( $scope.longitude+ "---"+$scope.latitude)
$scope.myGeo.getLocation(pt, function (rs) {
var addComp = rs.addressComponents;
/**
* 将获取到的建筑名赋值给$scope.address
*/
$scope.address = addComp.province != addComp.city ? addComp.province + addComp.city : addComp.city + addComp.district + addComp.street + addComp.streetNumber;
/**
* 通知angularjs更新视图
*/
$scope.$digest();
});
});
/**
* 初始化查询配置
* @type {BMap.LocalSearch}
*/
$scope.local = new BMap.LocalSearch($scope.map, {
renderOptions: {
map: $scope.map,
panel: "results",
autoViewport: true,
selectFirstResult: true
},
pageCapacity: 8
});
/**
* 监听地址改变事件,当地址输入框的值改变时
*/
$scope.$watch('address', function () {
/**
* 查询输入的地址并显示在地图上、调整地图视野
*/
$scope.local.search($scope.address);
/**
* 将输入的地址解析为经纬度
*/
$scope.myGeo.getPoint($scope.address, function (point) {
if (point) {
/**
* 将地址解析为经纬度并赋值给$scope.longitude和$scope.latitude
*/
$scope.longitude = point.lng;
$scope.latitude = point.lat;
}
});
});
};

4 以下为效果

可以点击获取经纬度

百度地图的js导入及使用的更多相关文章

  1. 百度地图android studio导入开发插件

    百度地图SDK v3.5.0开发包下载地址:http://lbsyun.baidu.com/sdk/download?selected=location 开发工具 Android开发工具很多,在这我们 ...

  2. Ionic2使用百度地图API(JS)出现白屏解决方案

    最近自学ionic2,写了一个内嵌百度地图JS的demo,实际跑起来之后出现了大家常见的白屏问题.. 最初的实现是这样的: 首先主页内嵌了一个百度地图插件 <div id="Bmap& ...

  3. echarts3.8.4实现城市空气质量(结合百度地图bmap.js,小航哥)

    (小航哥自己实现的)为了事先地图效果,需要以下准备: 用百度地图作为地图,需要 1.bmap.min.js(下载地址https://github.com/ecomfe/echarts ,GitHub上 ...

  4. 百度地图和js操作iframe

    document.getElementById("ifarme-63").contentWindow.document.getElementById("qksv" ...

  5. 已知两点经纬度(百度地图),用js求解两点之间的角度

    采用的网址:https://my.oschina.net/boogoogle/blog/740478

  6. Qt的QWebChannel和JS、HTML通信/交互驱动百度地图

    Qt的QWebChannel和JS.HTML通信/交互驱动百度地图 0 前言 我一个研究嵌入式的,不知道怎么就迷上了上位机,接了几个项目都是关于Qt,这个项目还是比较经典的,自己没事儿的时候也进行研究 ...

  7. ionic2如何调用百度地图

    使用ionic2接入百度地图 在index.html中引入百度地图的js类库 <script type="text/javascript" src="http:// ...

  8. 苹果手机 微信调用百度地图Javascript API 频繁闪退问题

    最近在网页中调用百度地图API js大众版,但是在IOS8系统中,缩放的时候频繁闪退,安卓手机没有这个问题! 在网上查询了下,有网友回答说不要频繁的去new marker,而是初始化话一定量的mark ...

  9. 百度地图 IOS版开发经验分享

    最近刚完成app中地图的应用,感觉非常的曲折,折腾了很久,刚才开始一直不能成功使用百度地图api,报一大堆的错误,后来换到高德地图,又发现服务端使用的百度的经纬度,又从高德换回百度,泪奔. 这里简单比 ...

随机推荐

  1. Struts2框架之Action类的访问

    1. 通过<action>标签中的method属性,访问到Action中的具体的方法. * 传统的配置方式,配置更清晰更好理解!但是扩展需要修改配置文件等! * 具体的实例如下: * 页面 ...

  2. vue项目优化之路由懒加载

    const login = () =>import('@/views/login'); export default new Router({ routes:[ { path:'/login', ...

  3. SSI服务端包含技术

    1.页面拆出来怎么样通过web服务浏览呢? 使用web服务(例如nginx)的SSI技术,将多个子页面合并渲染输出. 2.SSI是什么? 3. ssi包含类似于jsp页面中的incluce指令,ssi ...

  4. Jenkins与Git持续集成&&Linux上远程部署Java项目

    一.环境搭建 1.安装所需软件 Jdk Maven Jenkins Tomcat Xshell git 以上软件去官网下载,比较简单,不一一描述了 2.安装所需的jenkins插件 Git plugi ...

  5. PAT 甲级 1023 Have Fun with Numbers(20)(思路分析)

    1023 Have Fun with Numbers(20 分) Notice that the number 123456789 is a 9-digit number consisting exa ...

  6. iOS一段文字设置多种颜色格式

    调用 [self fuwenbenLabel:contentLabel FontNumber:[UIFont systemFontOfSize:] AndRange:NSMakeRange(, ) A ...

  7. Linux 双网关(电信与联通)

    经常有这种需求,一台Linux服务器配置电信IP和网通IP,默认情况下,后启动的网卡的网关生效.南电信北网通,配置电信和网通IP,无非是为了减少网络延时,使电信用户的请求响应在电信网络中传输,网通用户 ...

  8. base64编码是什么

    首先明确一点base64 是一种编码格式.就想utf-8一样,能在电脑上表示所有字符,或者换句话说通过编码能让电脑理解你想要标识的字符(因为电脑只知道0和1 ) 就像ascII 中 0100 0001

  9. POI导出大量数据的简单解决方案

    说明:我的电脑 2.0CPU 2G内存 能够十秒钟导出 20W 条数据 ,12.8M的excel内容压缩后2.68M 我们知道在POI导出Excel时,数据量大了,很容易导致内存溢出.由于Excel ...

  10. virtual、abstract、interface区别以及用法

    virtual 用于在基类中的使用的方法,使用的情况为:      情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法.那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法. ...