百度地图api2.0体验
2020-12-13 02:10
阅读:427
标签:c style class blog code java 前言:这两天在做百度地图的功能,查看了百度官网的api完成了基本功能 api地址http://developer.baidu.com/map/jshome.htm 注意是javascript
API 大众版2.0 废话不说先上图 一、导入百度地图api ="text/javascript" src="/Scripts/jquery.min.js">
二、加载百度地图
三、增加标注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 ) { 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体验,搜素材,soscw.com
百度地图api2.0体验
标签:c style class blog code java
原文地址:http://www.cnblogs.com/LYunF/p/3761008.html
下一篇:IE浏览器和CSS盒模型【转】
评论
亲,登录后才可以留言!