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小时内与您取得联系。