全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

javascript 开发之百度地图使用到的js函数整理

 javascript 开发之百度地图使用到的js函数整理

接项目用到的地图,客户要求用百度地图,没办法只好用百度地图,这里总结一下,写的一些函数,注释比较详细!

   //创建和初始化地图函数: 
    
    function initMap(){ 
     createMap();//创建地图 
     setMapEvent();//设置地图事件 
     addMapControl();//向地图添加控件 
     addMarker();//向地图中添加marker 
    } 
     
    //创建地图函数: 
    function createMap(){ 
     var map = new BMap.Map("container");//在百度地图容器中创建一个地图 
     var point = new BMap.Point(116.395645,39.929986);//定义一个中心点坐标 
     map.centerAndZoom(point,12);//设定地图的中心点和坐标并将地图显示在地图容器中 
     window.map = map;//将map变量存储在全局 
    } 
     
    //地图事件设置函数: 
    function setMapEvent(){ 
     map.enableDragging();//启用地图拖拽事件,默认启用(可不写) 
     map.enableScrollWheelZoom();//启用地图滚轮放大缩小 
     map.enableDoubleClickZoom();//启用鼠标双击放大,默认启用(可不写) 
     map.enableKeyboard();//启用键盘上下左右键移动地图 
    } 
  
    //地图控件添加函数: 
    function addMapControl(){ 
      //向地图中添加缩放控件 
     var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE}); 
     map.addControl(ctrl_nav); 
      //向地图中添加缩略图控件 
     var ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1}); 
     map.addControl(ctrl_ove); 
      //向地图中添加比例尺控件 
     var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT}); 
     map.addControl(ctrl_sca); 
    } 
     
    //标注点数组 
    var markerArr = [{title:"我的标记",content:"我的备注",point:"116.354539|39.970253",isOpen:0,icon:{w:21,h:21,l:0,t:0,x:6,lb:5}} 
      ]; 
    //创建marker 
    function addMarker(){ 
     for(var i=0;i<markerArr.length;i++){ 
      var json = markerArr[i]; 
      var p0 = json.point.split("|")[0]; 
      var p1 = json.point.split("|")[1]; 
      var point = new BMap.Point(p0,p1); 
      var iconImg = createIcon(json.icon); 
      var marker = new BMap.Marker(point,{icon:iconImg}); 
      var iw = createInfoWindow(i); 
      var label = new BMap.Label(json.title,{"offset":new BMap.Size(json.icon.lb-json.icon.x+10,-20)}); 
      marker.setLabel(label); 
       
      map.addOverlay(marker); 
      label.setStyle({ 
         borderColor:"#808080", 
         color:"#333", 
         cursor:"pointer" 
      }); 
      (function(){ 
       var index = i; 
       var _iw = createInfoWindow(i); 
       var _marker = marker; 
       _marker.addEventListener("click",function(){ 
        this.openInfoWindow(_iw); 
       }); 
       _iw.addEventListener("open",function(){ 
        _marker.getLabel().hide(); 
       }) 
       _iw.addEventListener("close",function(){ 
        _marker.getLabel().show(); 
       }) 
       label.addEventListener("click",function(){ 
        _marker.openInfoWindow(_iw); 
       }) 
       if(!!json.isOpen){ 
        label.hide(); 
        _marker.openInfoWindow(_iw); 
       } 
      })() 
     } 
    } 
    //创建InfoWindow 
    function createInfoWindow(i){ 
     var json = markerArr[i]; 
     var iw = new BMap.InfoWindow("<b class='iw_poi_title' title='" + json.title + "'>" + json.title + "</b><div class='iw_poi_content'>"+json.content+"</div>"); 
     return iw; 
    } 
    //创建一个Icon 
    function createIcon(json){ 
     var icon = new BMap.Icon("http://openapi.baidu.com/map/images/us_mk_icon.png", new BMap.Size(json.w,json.h),{imageOffset: new BMap.Size(-json.l,-json.t),infoWindowOffset:new BMap.Size(json.lb+5,1),offset:new BMap.Size(json.x,json.h)}) 
     return icon; 
    } 
     
 initMap();//创建和初始化地图 

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# javascript  # 百度地图  # 百度地图使用到的js函数整理  # 百度地图api应用标注地理位置信息(js版)  # js 调用百度地图api并在地图上进行打点添加标注  # JS中引用百度地图并将百度地图的logo和信息去掉  # javascript使用百度地图api和html5特性获取浏览器位置  # 通过百度地图获取公交线路的站点坐标的js代码  # js调用百度地图及调用百度地图的搜索功能  # 基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标  # 最全面的百度地图JavaScript离线版开发  # javascript实现百度地图鼠标滑动事件显示、隐藏  # 如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)  # 图中  # 中心点  # 创建一个  # 不写  # 用百度  # 鼠标  # 右键  # 没办法  # 希望能  # 并将  # 双击  # 谢谢大家  # 客户要求  # 拖拽  # 在百度  # ctrl_sca  # enableScrollWheelZoom  # enableDoubleClickZoom  # ScaleControl  # window 


相关文章: 浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何高效完成独享虚拟主机建站?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  个人摄影网站制作流程,摄影爱好者都去什么网站?  如何在云主机上快速搭建多站点网站?  建站之星如何快速生成多端适配网站?  如何在阿里云虚拟主机上快速搭建个人网站?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  深入理解Android中的xmlns:tools属性  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  php json中文编码为null的解决办法  如何选择靠谱的建站公司加盟品牌?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  如何快速生成专业多端适配建站电话?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何使用Golang table-driven基准测试_多组数据测量函数效率  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  北京的网站制作公司有哪些,哪个视频网站最好?  5种Android数据存储方式汇总  建站之星如何实现五合一智能建站与营销推广?  视频网站制作教程,怎么样制作优酷网的小视频?  浅析上传头像示例及其注意事项  已有域名如何免费搭建网站?  网站设计制作企业有哪些,抖音官网主页怎么设置?  建站之星后台管理系统如何操作?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  c# 服务器GC和工作站GC的区别和设置  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  如何高效利用亚马逊云主机搭建企业网站?  盐城做公司网站,江苏电子版退休证办理流程?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  建站之星免费版是否永久可用?  ,有什么在线背英语单词效率比较高的网站?  高端企业智能建站程序:SEO优化与响应式模板定制开发  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  在线教育网站制作平台,山西立德教育官网?  在线制作视频网站免费,都有哪些好的动漫网站?  学校为何禁止电信移动建设网站?  如何做静态网页,sublimetext3.0制作静态网页?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  网站好制作吗知乎,网站开发好学吗?有什么技巧?  如何在万网自助建站中设置域名及备案?  如何选择高效便捷的WAP商城建站系统?  如何通过PHP快速构建高效问答网站功能?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  ,网站推广常用方法? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。