var BMapGLLib=window.BMapGLLib=BMapGLLib||{};(function(){var e;var b=e=b||{version:"gl 1.0"};b.guid="$BAIDU$";(function(){window[b.guid]=window[b.guid]||{};b.dom=b.dom||{};b.dom.g=function(k){if("string"==typeof k||k instanceof String){return document.getElementById(k)}else{if(k&&k.nodeName&&(k.nodeType==1||k.nodeType==9)){return k}}return null};b.g=b.G=b.dom.g;b.lang=b.lang||{};b.lang.isString=function(k){return"[object String]"==Object.prototype.toString.call(k)};b.isString=b.lang.isString;b.dom._g=function(k){if(b.lang.isString(k)){return document.getElementById(k)}return k};b._g=b.dom._g;b.dom.getDocument=function(k){k=b.dom.g(k);return k.nodeType==9?k:k.ownerDocument||k.document};b.browser=b.browser||{};b.browser.ie=b.ie=/msie (\d+\.\d+)/i.test(navigator.userAgent)?(document.documentMode||+RegExp["\x241"]):undefined;b.dom.getComputedStyle=function(l,k){l=b.dom._g(l);var n=b.dom.getDocument(l),m;if(n.defaultView&&n.defaultView.getComputedStyle){m=n.defaultView.getComputedStyle(l,null);if(m){return m[k]||m.getPropertyValue(k)}}return""};b.dom._styleFixer=b.dom._styleFixer||{};b.dom._styleFilter=b.dom._styleFilter||[];b.dom._styleFilter.filter=function(l,o,p){var n=b.dom._styleFilter;var m;for(var k=0;m=n[k];k++){if(m=m[p]){o=m(l,o)}}return o};b.string=b.string||{};b.string.toCamelCase=function(k){if(k.indexOf("-")<0&&k.indexOf("_")<0){return k}return k.replace(/[-_][^-_]/g,function(l){return l.charAt(1).toUpperCase()})};b.dom.getStyle=function(m,l){var o=b.dom;m=o.g(m);l=b.string.toCamelCase(l);var n=m.style[l]||(m.currentStyle?m.currentStyle[l]:"")||o.getComputedStyle(m,l);if(!n){var k=o._styleFixer[l];if(k){n=k.get?k.get(m):b.dom.getStyle(m,k)}}if(k=o._styleFilter){n=k.filter(l,n,"get")}return n};b.getStyle=b.dom.getStyle;b.dom._NAME_ATTRS=(function(){var k={"cellpadding":"cellPadding","cellspacing":"cellSpacing","colspan":"colSpan","rowspan":"rowSpan","valign":"vAlign","usemap":"useMap","frameborder":"frameBorder"};if(b.browser.ie<8){k["for"]="htmlFor";k["class"]="className"}else{k["htmlFor"]="for";k["className"]="class"}return k})();b.dom.setAttr=function(l,k,m){l=b.dom.g(l);if("style"==k){l.style.cssText=m}else{k=b.dom._NAME_ATTRS[k]||k;l.setAttribute(k,m)}return l};b.setAttr=b.dom.setAttr;b.dom.setAttrs=function(m,k){m=b.dom.g(m);for(var l in k){b.dom.setAttr(m,l,k[l])}return m};b.setAttrs=b.dom.setAttrs;b.dom.create=function(m,k){var n=document.createElement(m),l=k||{};return b.dom.setAttrs(n,l)};b.object=b.object||{};b.extend=b.object.extend=function(m,k){for(var l in k){if(k.hasOwnProperty(l)){m[l]=k[l]}}return m}})();WORLD_SIZE_MC_HALF=20037726.372307256;WORLD_SIZE_MC=WORLD_SIZE_MC_HALF*2;var h=BMapGLLib.LuShu=function(m,l,k){if(!l||l.length<1){return}this._map=m;if(k["geodesic"]){this.path=g(l)}else{this.path=l}this.i=0;this._setTimeoutQuene=[];this._opts={icon:null,speed:400,defaultContent:""};if(!k["landmarkPois"]){k["landmarkPois"]=[]}this._setOptions(k);this._rotation=0;if(!(this._opts.icon instanceof BMapGL.Icon)){this._opts.icon=defaultIcon}};h.prototype._setOptions=function(k){if(!k){return}for(var l in k){if(k.hasOwnProperty(l)){this._opts[l]=k[l]}}};h.prototype.start=function(){var l=this,k=l.path.length;if(l.i&&l.i30037726){if(s.x=m){clearInterval(o._intervalFlag);if(o.i>o.path.length){return}o._moveNext(++o.i)}else{n++;var w=u(t.x,s.x,n,m),B=u(t.y,s.y,n,m),A=BMapGL.Projection.convertMC2LL(new BMapGL.Point(w,B));if(A.lng>180){A.lng=A.lng-360}if(A.lng<-180){A.lng=A.lng+360}if(n==1){var z=null;if(o.i-1>=0){z=o.path[o.i-1]}if(o._opts.enableRotation==true){o.setRotation(z,v,q,p)}if(o._opts.autoView){if(!o._map.getBounds().containsPoint(A)){o._map.setCenter(A)}}}o._marker.setPosition(A);o._markerL.setPosition(A);o._markerR.setPosition(A);o._setInfoWin(A)}},k)},setRotation:function(s,l,t,r){var p=this;var k=0;l=p._map.pointToPixel(l);t=p._map.pointToPixel(t);if(t.x!=l.x){var q=(t.y-l.y)/(t.x-l.x),m=Math.atan(q);k=m*360/(2*Math.PI);if((!r&&t.x0){o=-1}else{o=1}p._marker.setRotation(-o*90);p._markerL.setRotation(-o*90);p._markerR.setRotation(-o*90)}return},linePixellength:function(l,k){return Math.sqrt(Math.abs(l.x-k.x)*Math.abs(l.x-k.x)+Math.abs(l.y-k.y)*Math.abs(l.y-k.y))},pointToPoint:function(l,k){return Math.abs(l.x-k.x)*Math.abs(l.x-k.x)+Math.abs(l.y-k.y)*Math.abs(l.y-k.y)},_moveNext:function(k){var l=this;if(k