1 line
7.5 KiB
JavaScript
1 line
7.5 KiB
JavaScript
|
|
var BMapLib=window.BMapLib=BMapLib||{};(function(){var b,a=b=a||{version:"1.5.0"};a.guid="$BAIDU$";(function(){window[a.guid]=window[a.guid]||{};a.dom=a.dom||{};a.dom.g=function(e){if("string"==typeof e||e instanceof String){return document.getElementById(e)}else{if(e&&e.nodeName&&(e.nodeType==1||e.nodeType==9)){return e}}return null};a.g=a.G=a.dom.g;a.lang=a.lang||{};a.lang.isString=function(e){return"[object String]"==Object.prototype.toString.call(e)};a.isString=a.lang.isString;a.dom._g=function(e){if(a.lang.isString(e)){return document.getElementById(e)}return e};a._g=a.dom._g;a.dom.getDocument=function(e){e=a.dom.g(e);return e.nodeType==9?e:e.ownerDocument||e.document};a.browser=a.browser||{};a.browser.ie=a.ie=/msie (\d+\.\d+)/i.test(navigator.userAgent)?(document.documentMode||+RegExp["\x241"]):undefined;a.dom.getComputedStyle=function(f,e){f=a.dom._g(f);var h=a.dom.getDocument(f),g;if(h.defaultView&&h.defaultView.getComputedStyle){g=h.defaultView.getComputedStyle(f,null);if(g){return g[e]||g.getPropertyValue(e)}}return""};a.dom._styleFixer=a.dom._styleFixer||{};a.dom._styleFilter=a.dom._styleFilter||[];a.dom._styleFilter.filter=function(f,j,k){for(var e=0,h=a.dom._styleFilter,g;g=h[e];e++){if(g=g[k]){j=g(f,j)}}return j};a.string=a.string||{};a.string.toCamelCase=function(e){if(e.indexOf("-")<0&&e.indexOf("_")<0){return e}return e.replace(/[-_][^-_]/g,function(f){return f.charAt(1).toUpperCase()})};a.dom.getStyle=function(g,f){var i=a.dom;g=i.g(g);f=a.string.toCamelCase(f);var h=g.style[f]||(g.currentStyle?g.currentStyle[f]:"")||i.getComputedStyle(g,f);if(!h){var e=i._styleFixer[f];if(e){h=e.get?e.get(g):a.dom.getStyle(g,e)}}if(e=i._styleFilter){h=e.filter(f,h,"get")}return h};a.getStyle=a.dom.getStyle;a.dom._NAME_ATTRS=(function(){var e={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",rowspan:"rowSpan",valign:"vAlign",usemap:"useMap",frameborder:"frameBorder"};if(a.browser.ie<8){e["for"]="htmlFor";e["class"]="className"}else{e.htmlFor="for";e.className="class"}return e})();a.dom.setAttr=function(f,e,g){f=a.dom.g(f);if("style"==e){f.style.cssText=g}else{e=a.dom._NAME_ATTRS[e]||e;f.setAttribute(e,g)}return f};a.setAttr=a.dom.setAttr;a.dom.setAttrs=function(g,e){g=a.dom.g(g);for(var f in e){a.dom.setAttr(g,f,e[f])}return g};a.setAttrs=a.dom.setAttrs;a.dom.create=function(g,e){var h=document.createElement(g),f=e||{};return a.dom.setAttrs(h,f)};a.object=a.object||{};a.extend=a.object.extend=function(g,e){for(var f in e){if(e.hasOwnProperty(f)){g[f]=e[f]}}return g}})();var c=BMapLib.LuShu=function(g,f,e){if(!f||f.length<1){return}this._map=g;this._path=f;this.i=0;this._setTimeoutQuene=[];this._projection=this._map.getMapType().getProjection();this._opts={icon:null,speed:4000,defaultContent:""};this._setOptions(e);this._rotation=0;if(!this._opts.icon instanceof BMap.Icon){this._opts.icon=defaultIcon}};c.prototype._setOptions=function(e){if(!e){return}for(var f in e){if(e.hasOwnProperty(f)){this._opts[f]=e[f]}}};c.prototype.start=function(){var f=this,e=f._path.length;if(f.i&&f.i<e-1){if(!f._fromPause){return}else{if(!f._fromStop){f._moveNext(++f.i)}}}else{f._addMarker();f._timeoutFlag=setTimeout(function(){f._addInfoWin();if(f._opts.defaultContent==""){f.hideInfoWindow()}f._moveNext(f.i)},400)}this._fromPause=false;this._fromStop=false},c.prototype.stop=function(){this.i=0;this._fromStop=true;clearInterval(this._intervalFlag);this._clearTimeout();for(var g=0,f=this._opts.landmarkPois,e=f.length;g<e;g++){f[g].bShow=false}};c.prototype.pause=function(){clearInterval(this._intervalFlag);this._fromPause=true;this._clearTimeout()};c.prototype.hideInfoWindow=function(){this._overlay._div.style.visibility="hidden"};c.prototype.showInfoWindow=function(){this._overlay._div.style.visibility="visible"};a.object.extend(c.prototype,{_addMarker:function(f){if(this._marker){this.stop();this._map.removeOverlay(this._marker);clearTimeout(this._timeoutFlag)}this._overlay&&this._map.removeOverlay(this._overlay);var e=new BMap.Marker(this._path[0]);this._opts.icon&&e.setIcon(this._opts.icon);this._map.addOverlay(e);e.
|