为了账号安全,请及时绑定邮箱和手机立即绑定

百度地图的jQ插件,有点不懂得,有哪个好心人给我加点备注啊!

百度地图的jQ插件,有点不懂得,有哪个好心人给我加点备注啊!

彬彬有理_0 2017-01-09 15:31:59
/** * Baidu地图v3版本API jQuery插件封装 */(function($) { $.fn.baidumap = function(options) { var opts = $.extend({}, $.fn.baidumap.defaults, options); $.fn.baidumap.options = opts; var map = new BMap.Map(this.attr("id")); var point = new BMap.Point(opts.x, opts.y); // 创建中心点坐标 map.centerAndZoom(point, opts.zoom); // 初始化地图,设置中心点坐标和地图级别 if (opts.enableScrollWheelZoom) { map.enableScrollWheelZoom(); } if (opts.enableNavigationControl) { map.addControl(new BMap.NavigationControl()); } if (opts.enableOverviewMapControl) { map.addControl(new BMap.OverviewMapControl()); } if (opts.enableScaleControl) { map.addControl(new BMap.ScaleControl()); } if (opts.enableMapTypeControl) { map.addControl(new BMap.MapTypeControl()); } if (opts.enableCopyrightControl) { var cr = new BMap.CopyrightControl({ anchor : BMAP_ANCHOR_TOP_RIGHT }); map.addControl(cr); var bs = map.getBounds(); cr.addCopyright({ id : 1, content : opts.copyrightContent, bounds : bs }); } $.fn.baidumap.map = map; return $.fn.baidumap; }; /* * 默认参数设置 */ $.fn.baidumap.defaults = { x : 115.904001, // 中心点 x坐标 y : 28.6689, // 中心点y坐标 zoom : 18, // 缩放级别 enableScrollWheelZoom : true, // 启用鼠标滚轮缩放 enableNavigationControl : true, // 启用平移缩放控件 enableOverviewMapControl : false, // 启用缩略地图控件 enableScaleControl : true, // 比例尺控件 enableMapTypeControl : false, // 切换地图类型的控件 enableCopyrightControl : false,// 版权信息空间 copyrightContent : '',// 版权信息 copyrightAnchor : BMAP_ANCHOR_TOP_RIGHT // 版权信息显示的位置 }; /** * 定位到指定坐标 *  * x *            纬度 * y *            经度 *  zoom *            缩放级别 */ $.fn.baidumap.panTo = function(x, y, zoom){ var map = $.fn.baidumap.map; map.clearOverlays(); if (parseInt(x) == 0) { return; } if (x != "") { var temp_point = new BMap.Point(x, y); map.centerAndZoom(temp_point, parseInt(zoom)); } }; /** * 在地图上搜索地点,并且标记 *  * @param city *            城市名称 * @param address *            详细地址 */ $.fn.baidumap.search = function(city, address) { var map = $.fn.baidumap.map; map.clearOverlays(); // 创建地址解析器实例 var myGeo = new BMap.Geocoder(); // 将地址解析结果显示在地图上,并调整地图视野 myGeo.getPoint(address, function(point) { if (point) { var resultMarker = new BMap.Marker(point); // 跳动的动画 resultMarker.setAnimation(BMAP_ANIMATION_BOUNCE); map.centerAndZoom(point, 16); map.addOverlay(resultMarker); } }, city); }; /** * 定位的指定行政区域 *  * @param org *            行政区域名称(支持省、市、县三级) */ $.fn.baidumap.location = function(org) { var map = $.fn.baidumap.map; var bdary = new BMap.Boundary(); bdary.get(org, function(rs) { // 获取行政区域 map.clearOverlays(); // 清除地图覆盖物 var count = rs.boundaries.length; // 行政区域的点有多少个 var plys = new Array(count); // bugfix: 在地图上不相连的某个区划,返回的数组中,默认从小范围到大范围,so, i--优先显示大范围 for ( var i = count - 1; i >= 0; i--) { var ply = new BMap.Polygon(rs.boundaries[i], { strokeWeight : 2, strokeColor : "#ff0000", fillOpacity : 0 }); // 建立多边形覆盖物 plys[i] = ply; map.addOverlay(ply); // 添加覆盖物 map.setViewport(ply.getPath()); // 调整视野 } }); // 1秒后清除覆盖物 setTimeout('$.fn.baidumap.map.clearOverlays()', 1000); }; /** * 新建一个图标 *  * @param options *            图标属性 exp .{url:图标路径,width:宽度,height:高度} * @returns BMap.Icon */ $.fn.baidumap.createIcon = function(options) { return new BMap.Icon(options.url, new BMap.Size(options.width, options.height)); }; /** * 新建一个文本标注 *  * @param options *            标注的属性 exp. {title:标题,offsetX:横向偏移量,offsetY:纵向偏移量,style:css样式} * @returns BMap.Label */ $.fn.baidumap.createLabel = function(options) { var label = new BMap.Label(options.title); if (options.offsetX) { label.setOffset(new BMap.Size(options.offsetX, options.offsetY)); } if (options.style) { label.setStyle(options.style); } return label; }; /** * 新建一个信息窗口 *  * @param content *            支持html的内容 * @returns BMap.InfoWindow */ $.fn.baidumap.createInfoWindow = function(content) { return new BMap.InfoWindow(content); }; /** * 新建一个图形标记 *  * @param options *            标记的属性 exp.{point:位置 BMap.Point值,icon: 图标BMap.Icon值, *            label:图标的文本说明} *  * @returns BMap.Marker */ $.fn.baidumap.createMarker = function(options) { var marker = new BMap.Marker(options.point); if (options.icon) { marker.setIcon(options.icon); } if (options.label) { marker.setLabel(options.label); } $.fn.baidumap.map.addOverlay(marker); return marker; };})(jQuery);
查看完整描述

1 回答

已采纳
?
习惯受伤

TA贡献885条经验 获得超1144个赞

这不都有注释嘛
查看完整回答
1 反对 回复 2017-01-09
  • 1 回答
  • 0 关注
  • 2372 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信