百度地图api2.0体验

前言:这两天在做百度地图的功能,查看了百度官网的api完成了基本功能

api地址http://developer.baidu.com/map/jshome.htm 注意是javascript
API 大众版2.0

废话不说先上图

一、导入百度地图api

<script type="text/javascript" src="/Scripts/jquery.min.js"></script>

<script src="http://api.map.baidu.com/api?v=2.0&ak=密钥"
type="text/javascript"></script>

二、加载百度地图


<style type="text/css">
#allmap {width: 530px;height: 500px;overflow: hidden;margin:0;}
</style>

<div id="allmap"></div>

<script type="text/javascript">

var map;

// 百度地图API功能
map = new BMap.Map("allmap");
map.addControl(new BMap.NavigationControl()); //地图平移缩放控件
map.addControl(new BMap.ScaleControl()); //比例尺控件
//map.addControl(new BMap.OverviewMapControl()); //缩略地图控件,默认位于地图右下方,是一个可折叠的缩略地图
//map.addControl(new BMap.MapTypeControl()); //地图类型控件
//地图中心
var point = new BMap.Point(pointArray[0].lon, pointArray[0].lat);
map.centerAndZoom(point, 10);//级别
map.enableScrollWheelZoom(true);//是否可缩放
//点击地图弹出坐标
// map.addEventListener("click", function(e){
// alert(point.lng + ", " + e.point.lat);
// });

三、增加标注marker


//自定义方法

function addMarker(mobj,html) {
var mName = mobj.mName, //标题
isOnline = mobj.isOnline;//是否在线

var point = new BMap.Point(mobj.lon, mobj.lat);

if(0 == isOnline) //离线用灰色图标显示
{
var myIcon = new BMap.Icon("/Content/img/bdmap/marker_gray_sprite.png", new BMap.Size(19,25) ,{anchor: new BMap.Size(9,25),infoWindowAnchor: new BMap.Size(10, 0)}); // {offset: new BMap.Size(50, -50) ,{anchor: new BMap.Size(10,25)}
var marker = new BMap.Marker(point,{icon:myIcon});
}
else
{//在线用默认红色图标显示
//var myIcon = new BMap.Icon("http://api0.map.bdimg.com/images/marker_red_sprite.png", new BMap.Size(39,25) ,{anchor: new BMap.Size(10,0)} ); //{offset: new BMap.Size(50, -50)
var marker = new BMap.Marker(point);
}
//设置信息
var infoWindow = new BMap.InfoWindow(tip); // 创建信息窗口对象
map.addOverlay(marker);
marker.addEventListener("click", function(){
this.openInfoWindow(infoWindow);
//图片加载完毕重绘infowindow
document.getElementById(‘imgDemo‘).onload = function (){
infoWindow.redraw(); //防止在网速较慢,图片未加载时,生成的信息框高度比图片的总高度小,导致图片部分被隐藏
}
});

//marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
var label = new BMap.Label(mName,{offset:new BMap.Size(20,-10)});
label.setStyle({
borderColor:"#808080",
color:"#333",
cursor:"pointer",
fontSize:"14px",
backgroundColor:"#DEADFF"
});
label.addEventListener("click", function(){
marker.openInfoWindow(infoWindow);
});
marker.setLabel(label);
}

这样就可以循环增加marker了

for (var i = 0; i < pointArray.length; i++) {

var mtip = getInfoTip(pointArray[i]); //提示html
addMarker(pointArray[i],mtip);//添加marker
}

四、点击其他地方显示提示框的方法


$(function () {
$("#showTip").click(function () {

$("#mapName").text($(this).find("div[name=‘mname‘]").text());
var id = $(this).find("div[name=‘mid‘]").text();
var tempModel = getMModel(id);
if(tempModel != null)
{
var mpoint = new BMap.Point(tempModel.lon, tempModel.lat);
map.panTo(mpoint);
var infoWindow = new BMap.InfoWindow(tempModel.infoWindowHtml,{offset:new BMap.Size(0,-25)}); // 创建信息窗口对象InfoWindowOptions
map.openInfoWindow(infoWindow,mpoint);
//图片加载完毕重绘infowindow
document.getElementById(‘imgDemo‘).onload = function (){
infoWindow.redraw(); //防止在网速较慢,图片未加载时,生成的信息框高度比图片的总高度小,导致图片部分被隐藏
}

}
else
{
$("#mapName").text("在地图中未找到该商家,请查看是否设置了坐标");
}

});
});

OK,大功告成!

有用到的小伙伴可以直接copy了

百度地图api2.0体验,布布扣,bubuko.com

时间: 2024-10-09 07:39:52

百度地图api2.0体验的相关文章

百度地图3.0实现图文并茂的覆盖物

百度地图3.0实现图文并茂的覆盖物 分类: 地图API开发 android2014-07-03 00:30 2176人阅读 评论(2) 收藏 举报 前一段时间搞地图要显示周围房源信息,之前搜索的都是使用2.x的,现在百度地图官方新出了3.0版本由于之前思维局限一直没有实现图文并茂,今天看了别人2.0的实现方式,把它用到3.0上成功显示,下面看一下效果 现在3.0显示覆盖物mBaiduMap.addOverlay(OverlayOptions arg0),有两个类可以添加MarkerOptions

百度地图3.0 隐藏比例尺和缩放按钮的方法

今天做项目的时候用到了百度地图Android SDK v3.0.0,发现用以前的办法无法去掉地图上的比例尺和按钮, 而demo里提供的设置BaiduMapOptions这个对象的方法来去掉地图上的比例尺和按钮, 但只能通过mMapView = new MapView(this, mapOptions);的方式来实例化MapView这个对象, 可是我想把自己定义的xml加进来,通过setContentView(R.layout.myview),然后用老办法mMapView = (MapView)

百度地图V2.0实践项目开发工具类bmap.util.js V1.4

/** * 百度地图使用工具类-v2.0(大眾版) * * @author boonya * @date 2013-7-7 * @address Chengdu,Sichuan,China * @email [email protected] * @company KWT.Shenzhen.Inc.com * @notice 有些功能需要加入外部JS库才能使用,另外还需要申请地图JS key . * 申请地址:http://developer.baidu.com/map/apply-key.ht

百度地图API2

百度地图API 开始学习百度地图API最简单的方式是看一个简单的示例.以下代码创建了一个520x340大小的地图区域并以天安门作为地图的中心: 1. <html> 2. <head> 3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 4. <title>Hello, World</title> 5. <sc

百度地图V5.0地图定位

按照官方api一步一步写下来碰到的问题 mLocationClient = new LocationClient(getApplicationContext()); //声明LocationClient类 mLocationClient.registerLocationListener( myListener ); //注册监听函数 LocationClientOption option = new LocationClientOption(); option.setLocationMode(L

Android应用之——百度地图最新SDK3.0应用,实现最常用的标注覆盖物以及弹出窗覆盖物

一.概述 最新版的百度地图SDK3.0,修改了很多方法,之前的很多方法被简化了,正好在做地图这一块,顺便就使用了最新版的sdk. 下载官方给的demo,发现变化还是挺大的,之前的一些方法都换了,地图的初始化也进行了调整.多了好几个类,具体用法参考下面的例子,详细的说明可参照官方的说明文档. 二.效果图 标注覆盖物效果图: 弹出窗覆盖物: 三.实现过程 大部分是根据官方给的demo来的. A.配置文件: 第一步:在工程里新建libs文件夹,将开发包里的baidumapapi_vX_X_X.jar拷

百度地图SDK3.2.0—自定义缩放按钮

转载注明出处:http://blog.csdn.net/zhshulin/article/details/41378927 百度地图SDK3.0今年6月5号更新之后,全面升级SDK接口设计,不兼容老版本. 本文简介:百度地图自带缩放控件很丑,即使在9月18号发布的3.1.1版本中开放了调整位置的接口依然无法满足我的需要,而且百度地图自己的产品就是位于右侧上下排列的两个缩放按钮,看着舒服,用着方便.故而本文说明的就是模仿这种实现的一个简单方法. 这是一个大神的解决方案,他用的百度地图版本为2.3,

3.0+百度地图在地图初始化的时候就弹框展示一个信息框,而不是用户点击poi时才弹出

有些时候我们会有这样的业务:当用户根据地址跳转到地图后,希望能够立即弹框展示该poi的地址信息. 实现方法: 百度地图3.0+的类BaiduMap中提供了一个方法showInfoWindow(InfoWindow infoWindow):显示 InfoWindow,而这个方法就是处理这个问题的关键. 再初始化地图时实现以下内容就可以实现自动弹框效果 //初始化一个view view = getLayoutInflater().inflate( R.layout.activity_choose_l

百度地图基础开发

因为项目的需要,最近接触了一下百度地图Android开发,遇到很多问题,相信很多博友也遇到到过这些问题,现在把我的实践经验给大家分享一下. 开发百度地图,第一步:你需要首先登录百度地图开放平台,注册一个开发者身份,通过这个身份你可以查看到百度最新的开发文档,为我们的开发提供便利.有了开发者身份后,你就可以开始为开发百度地图做准备了. 打开Android开发工具,新建一个开发项目.然后利用你在百度注册的开发者身份申请密钥,申请密钥的方法百度文档说的很清楚,给了两钟申请方法,建议使用后一种.有了密钥