bbj-screen-widget 2.4.71 → 2.4.73
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bbj-screen-widget.metadata.json +1 -1
- package/bundles/bbj-screen-widget.umd.js +3 -1
- package/bundles/bbj-screen-widget.umd.js.map +1 -1
- package/bundles/bbj-screen-widget.umd.min.js +1 -1
- package/bundles/bbj-screen-widget.umd.min.js.map +1 -1
- package/esm2015/lib/custom-baidu-map/baidu-lushu/baidu-lushu.component.js +3 -2
- package/fesm2015/bbj-screen-widget.js +2 -1
- package/fesm2015/bbj-screen-widget.js.map +1 -1
- package/package.json +1 -1
- package/src/assets/js/BMapGL/Lushu.js +14 -3
- package/src/assets/js/BMapGL/Lushu.min.js +2 -1
package/package.json
CHANGED
|
@@ -489,6 +489,9 @@ var BMapGLLib = window.BMapGLLib = BMapGLLib || {};
|
|
|
489
489
|
}
|
|
490
490
|
}
|
|
491
491
|
}
|
|
492
|
+
if(currentCount===count){
|
|
493
|
+
pos=targetPos;
|
|
494
|
+
}
|
|
492
495
|
// 变更
|
|
493
496
|
//正在移动
|
|
494
497
|
me._marker.setPosition(pos);
|
|
@@ -580,7 +583,15 @@ var BMapGLLib = window.BMapGLLib = BMapGLLib || {};
|
|
|
580
583
|
var index = me._troughPointIndex(pos);
|
|
581
584
|
if (index != -1) {
|
|
582
585
|
clearInterval(me._intervalFlag);
|
|
583
|
-
me.
|
|
586
|
+
var html=me._opts.landmarkPois[index].html;
|
|
587
|
+
if(html){
|
|
588
|
+
if(me._opts.replaceDefaultContent){
|
|
589
|
+
me._opts.defaultContent=html;
|
|
590
|
+
}
|
|
591
|
+
}else{
|
|
592
|
+
html=me._opts.defaultContent;
|
|
593
|
+
}
|
|
594
|
+
me._overlay.setHtml(html);
|
|
584
595
|
me._overlay.setPosition(pos, me._marker.getIcon().size);
|
|
585
596
|
me._pauseForView(index);
|
|
586
597
|
} else {
|
|
@@ -654,9 +665,9 @@ var BMapGLLib = window.BMapGLLib = BMapGLLib || {};
|
|
|
654
665
|
for (var i = 0, len = t.length; i < len; i++) {
|
|
655
666
|
//landmarkPois中的点没有出现过的话
|
|
656
667
|
if (!t[i].bShow) {
|
|
657
|
-
distance = this._map.getDistance(new BMapGL.Point(t[i].lng, t[i].lat), markerPoi);
|
|
668
|
+
// distance = this._map.getDistance(new BMapGL.Point(t[i].lng, t[i].lat), markerPoi);
|
|
658
669
|
//两点距离小于10米,认为是同一个点
|
|
659
|
-
if (
|
|
670
|
+
if (markerPoi.lat === t[i].lat && markerPoi.lng === t[i].lng) {
|
|
660
671
|
t[i].bShow = true;
|
|
661
672
|
return i;
|
|
662
673
|
}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
var BMapGLLib=window.BMapGLLib=BMapGLLib||{};(function(){var T;var q=T=q||{version:'gl 1.0'};q.guid='$BAIDU$';(function(){window[q.guid]=window[q.guid]||{};q.dom=q.dom||{};q.dom.g=function(a){if('string'==typeof a||a instanceof String){return document.getElementById(a)}else if(a&&a.nodeName&&(a.nodeType==1||a.nodeType==9)){return a}return null};q.g=q.G=q.dom.g;q.lang=q.lang||{};q.lang.isString=function(a){return'[object String]'==Object.prototype.toString.call(a)};q.isString=q.lang.isString;q.dom._g=function(a){if(q.lang.isString(a)){return document.getElementById(a)}return a};q._g=q.dom._g;q.dom.getDocument=function(a){a=q.dom.g(a);return a.nodeType==9?a:a.ownerDocument||a.document};q.browser=q.browser||{};q.browser.ie=q.ie=/msie (\d+\.\d+)/i.test(navigator.userAgent)?(document.documentMode||+RegExp['\x241']):undefined;q.dom.getComputedStyle=function(a,b){a=q.dom._g(a);var c=q.dom.getDocument(a),styles;if(c.defaultView&&c.defaultView.getComputedStyle){styles=c.defaultView.getComputedStyle(a,null);if(styles){return styles[b]||styles.getPropertyValue(b)}}return''};q.dom._styleFixer=q.dom._styleFixer||{};q.dom._styleFilter=q.dom._styleFilter||[];q.dom._styleFilter.filter=function(a,b,c){var d=q.dom._styleFilter;var e;for(var i=0;e=d[i];i++){if(e=e[c]){b=e(a,b)}}return b};q.string=q.string||{};q.string.toCamelCase=function(b){if(b.indexOf('-')<0&&b.indexOf('_')<0){return b}return b.replace(/[-_][^-_]/g,function(a){return a.charAt(1).toUpperCase()})};q.dom.getStyle=function(a,b){var c=q.dom;a=c.g(a);b=q.string.toCamelCase(b);var d=a.style[b]||(a.currentStyle?a.currentStyle[b]:'')||c.getComputedStyle(a,b);if(!d){var e=c._styleFixer[b];if(e){d=e.get?e.get(a):q.dom.getStyle(a,e)}}if(e=c._styleFilter){d=e.filter(b,d,'get')}return d};q.getStyle=q.dom.getStyle;q.dom._NAME_ATTRS=(function(){var a={'cellpadding':'cellPadding','cellspacing':'cellSpacing','colspan':'colSpan','rowspan':'rowSpan','valign':'vAlign','usemap':'useMap','frameborder':'frameBorder'};if(q.browser.ie<8){a['for']='htmlFor';a['class']='className'}else{a['htmlFor']='for';a['className']='class'}return a})();q.dom.setAttr=function(a,b,c){a=q.dom.g(a);if('style'==b){a.style.cssText=c}else{b=q.dom._NAME_ATTRS[b]||b;a.setAttribute(b,c)}return a};q.setAttr=q.dom.setAttr;q.dom.setAttrs=function(a,b){a=q.dom.g(a);for(var c in b){q.dom.setAttr(a,c,b[c])}return a};q.setAttrs=q.dom.setAttrs;q.dom.create=function(a,b){var c=document.createElement(a),attributes=b||{};return q.dom.setAttrs(c,attributes)};q.object=q.object||{};q.extend=q.object.extend=function(a,b){for(var p in b){if(b.hasOwnProperty(p)){a[p]=b[p]}}return a}})();WORLD_SIZE_MC_HALF=20037726.372307256;WORLD_SIZE_MC=WORLD_SIZE_MC_HALF*2;var r=BMapGLLib.LuShu=function(a,b,c){if(!b||b.length<1){return}this._map=a;if(c['geodesic']){this.path=getGeodesicPath(b)}else{this.path=b}this.i=0;this._setTimeoutQuene=[];this._opts={icon:null,speed:400,defaultContent:''};if(!c['landmarkPois']){c['landmarkPois']=[]}this._setOptions(c);this._rotation=0;if(!(this._opts.icon instanceof BMapGL.Icon)){this._opts.icon=defaultIcon}}r.prototype._setOptions=function(a){if(!a){return}for(var p in a){if(a.hasOwnProperty(p)){this._opts[p]=a[p]}}}r.prototype.start=function(){var a=this,len=a.path.length;if(a.i&&a.i<len-1){if(!a._fromPause){return}else if(!a._fromStop){a._moveNext(++a.i)}}else{a._addMarker();a._timeoutFlag=setTimeout(function(){a._addInfoWin();if(a._opts.defaultContent==""){a.hideInfoWindow()}a._moveNext(a.i)},400)}this._fromPause=false;this._fromStop=false};r.prototype.stop=function(){this.i=0;this._fromStop=true;clearInterval(this._intervalFlag);this._clearTimeout();for(var i=0,t=this._opts.landmarkPois,len=t.length;i<len;i++){t[i].bShow=false}};r.prototype.clear=function(){this._clear()};r.prototype.pause=function(){clearInterval(this._intervalFlag);this._fromPause=true;this._clearTimeout()};r.prototype.hideInfoWindow=function(){this._overlay._div.style.visibility='hidden'};r.prototype.showInfoWindow=function(){this._overlay._div.style.visibility='visible'};q.object.extend(r.prototype,{_addMarker:function(a){if(this._marker){this.stop();this._map.removeOverlay(this._marker);this._map.removeOverlay(this._markerL);this._map.removeOverlay(this._markerR);clearTimeout(this._timeoutFlag)}this._overlay&&this._map.removeOverlay(this._overlay);var b=new BMapGL.Marker(this.path[0]);this._opts.icon&&b.setIcon(this._opts.icon);this._map.addOverlay(b);b.setAnimation(BMAP_ANIMATION_DROP);this._marker=b;var c=new BMapGL.Marker(this.path[0],{left:true});this._opts.icon&&c.setIcon(this._opts.icon);this._map.addOverlay(c);c.setAnimation(BMAP_ANIMATION_DROP);this._markerL=c;var d=new BMapGL.Marker(this.path[0],{right:true});this._opts.icon&&d.setIcon(this._opts.icon);this._map.addOverlay(d);d.setAnimation(BMAP_ANIMATION_DROP);this._markerR=d},_addInfoWin:function(){var a=this;var b=new CustomOverlay(a._marker.getPosition(),a._opts.defaultContent);b.setRelatedClass(this);this._overlay=b;this._map.addOverlay(b)},_getMercator:function(a){return this._map.getMapType().getProjection().lngLatToPoint(a)},_getDistance:function(a,b){return Math.sqrt(Math.pow(a.x-b.x,2)+Math.pow(a.y-b.y,2))},_move:function(b,c,d){var e=this,currentCount=0,timer=10,step=this._opts.speed/(1000/timer),init_pos=BMapGL.Projection.convertLL2MC(b),target_pos=BMapGL.Projection.convertLL2MC(c);init_pos=new BMapGL.Pixel(init_pos.lng,init_pos.lat);target_pos=new BMapGL.Pixel(target_pos.lng,target_pos.lat);var f=e._getDistance(init_pos,target_pos);var g=null;if(f>30037726){if(target_pos.x<init_pos.x){target_pos.x+=WORLD_SIZE_MC;g='right'}else{target_pos.x-=WORLD_SIZE_MC;g='left'}}var h=Math.round(e._getDistance(init_pos,target_pos)/step);if(h<1){const t=setTimeout(()=>{e._moveNext(++e.i)},0)e._setTimeoutQuene.push(t)}e._intervalFlag=setInterval(function(){if(currentCount>=h){clearInterval(e._intervalFlag);if(e.i>e.path.length){return}e._moveNext(++e.i)}else{currentCount++;var x=d(init_pos.x,target_pos.x,currentCount,h),y=d(init_pos.y,target_pos.y,currentCount,h),pos=BMapGL.Projection.convertMC2LL(new BMapGL.Point(x,y));if(pos.lng>180){pos.lng=pos.lng-360}if(pos.lng<-180){pos.lng=pos.lng+360}if(currentCount==1){var a=null;if(e.i-1>=0){a=e.path[e.i-1]}if(e._opts.enableRotation==true){e.setRotation(a,b,c,g)}if(e._opts.autoView){if(!e._map.getBounds().containsPoint(pos)){e._map.setCenter(pos)}}}e._marker.setPosition(pos);e._markerL.setPosition(pos);e._markerR.setPosition(pos);e._setInfoWin(pos)}},timer)},setRotation:function(a,b,c,d){var e=this;var f=0;b=e._map.pointToPixel(b);c=e._map.pointToPixel(c);if(c.x!=b.x){var g=(c.y-b.y)/(c.x-b.x),atan=Math.atan(g);f=atan*360/(2*Math.PI);if((!d&&c.x<b.x)||(d==='left')){f=-f+90+90}else{f=-f}e._marker.setRotation(-f);e._markerL.setRotation(-f);e._markerR.setRotation(-f)}else{var h=c.y-b.y;var i=0;if(h>0){i=-1}else{i=1}e._marker.setRotation(-i*90);e._markerL.setRotation(-i*90);e._markerR.setRotation(-i*90)}return},linePixellength:function(a,b){return Math.sqrt(Math.abs(a.x-b.x)*Math.abs(a.x-b.x)+Math.abs(a.y-b.y)*Math.abs(a.y-b.y))},pointToPoint:function(a,b){return Math.abs(a.x-b.x)*Math.abs(a.x-b.x)+Math.abs(a.y-b.y)*Math.abs(a.y-b.y)},_moveNext:function(a){var b=this;if(a<this.path.length-1){b._move(b.path[a],b.path[a+1],b._tween.linear)}},_setInfoWin:function(a){var b=this;if(!b._overlay){return}b._overlay.setPosition(a,b._marker.getIcon().size);var c=b._troughPointIndex(a);if(c!=-1){clearInterval(b._intervalFlag);b._overlay.setHtml(b._opts.landmarkPois[c].html);b._overlay.setPosition(a,b._marker.getIcon().size);b._pauseForView(c)}else{b._overlay.setHtml(b._opts.defaultContent)}},_pauseForView:function(a){var b=this;var t=setTimeout(function(){b._moveNext(++b.i)},b._opts.landmarkPois[a].pauseTime*1000);b._setTimeoutQuene.push(t)},_clearTimeout:function(){for(var i in this._setTimeoutQuene){clearTimeout(this._setTimeoutQuene[i])}this._setTimeoutQuene.length=0},_clear:function(){var a=this;if(a._marker){a.stop();a._map.removeOverlay(a._marker);a._map.removeOverlay(a._markerL);a._map.removeOverlay(a._markerR);clearTimeout(a._timeoutFlag);a._marker=null;a._markerL=null;a._markerR=null}if(a._overlay){a._map.removeOverlay(a._overlay);a._overlay=null}},_tween:{linear:function(a,e,f,g){var b=a;var c=e-a;var t=f;var d=g;return c*t/d+b}},_troughPointIndex:function(a){var t=this._opts.landmarkPois;var b;for(var i=0,len=t.length;i<len;i++){if(!t[i].bShow){b=this._map.getDistance(new BMapGL.Point(t[i].lng,t[i].lat),a);if(b<10){t[i].bShow=true;return i}}}return-1}});function getGeodesicPath(a){var b=[];for(var i=0;i<a.length-1;i++){var c=calcGreatCirclePath(a[i],a[i+1]);b=b.concat(c)}b=b.concat(a[a.length-1])return b}function calcGreatCirclePath(a,b){if(a.equals(b)){return[a]}var c=BMapGL.Projection.getDistance(toRadian(a.lng),toRadian(a.lat),toRadian(b.lng),toRadian(b.lat));var c=BMapGL.Projection.getDistanceByLL(a,b);if(c<250000){return[a]}var d=[];var e=Math.round(c/150000);var f=calcAngularDistance(a,b);d.push(a);for(var i=0;i<e;i++){var g=calcMiddlePoint(a,b,i/e,f);d.push(g)}d.push(b);return d}function calcMiddlePoint(c,d,f,e){var g=c.lat;var h=d.lat;var i=c.lng;var j=d.lng;var k=toRadian(g);var l=toRadian(h);var m=toRadian(i);var n=toRadian(j);var a=Math.sin((1-f)*e)/Math.sin(e);var b=Math.sin(f*e)/Math.sin(e);var x=a*Math.cos(k)*Math.cos(m)+b*Math.cos(l)*Math.cos(n);var y=a*Math.cos(k)*Math.sin(m)+b*Math.cos(l)*Math.sin(n);var z=a*Math.sin(k)+b*Math.sin(l);var o=Math.atan2(z,Math.sqrt(Math.pow(x,2)+Math.pow(y,2)));var p=Math.atan2(y,x);return new BMapGL.Point(toAngle(p),toAngle(o))}function toRadian(a){return a*Math.PI/180}function toAngle(a){return a/Math.PI*180}function calcAngularDistance(a,b){var c=toRadian(a.lat);var d=toRadian(b.lat);var e=toRadian(a.lng);var f=toRadian(b.lng);return Math.acos(Math.sin(c)*Math.sin(d)+Math.cos(c)*Math.cos(d)*Math.cos(Math.abs(f-e)))}function CustomOverlay(a,b){this._point=a;this._html=b}CustomOverlay.prototype=new BMapGL.Overlay();CustomOverlay.prototype.initialize=function(a){var b=this._div=q.dom.create('div',{style:'border:solid 1px #ccc;width:auto;min-width:50px;text-align:center;position:absolute;background:#fff;color:#000;font-size:12px;border-radius: 10px;padding:5px;white-space: nowrap;'});b.innerHTML=this._html;a.getPanes().floatPane.appendChild(b);this._map=a;return b}CustomOverlay.prototype.draw=function(){this.setPosition(this.lushuMain._marker.getPosition(),this.lushuMain._marker.getIcon().size)}q.object.extend(CustomOverlay.prototype,{setPosition:function(a,b){var c=this._map.pointToOverlayPixel(a);var d=q.dom.getStyle(this._div,'width');var e=q.dom.getStyle(this._div,'height');var f=parseInt(this._div.clientWidth||d,10);var g=parseInt(this._div.clientHeight||e,10);this._div.style.left=c.x-f/2+'px';this._div.style.bottom=-(c.y-b.height)+'px'},setHtml:function(a){this._div.innerHTML=a},setRelatedClass:function(a){this.lushuMain=a}})})();
|
|
1
|
+
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.i<k-1){if(!l._fromPause){return}else{if(!l._fromStop){l._moveNext(++l.i)}}}else{l._addMarker();l._timeoutFlag=setTimeout(function(){l._addInfoWin();if(l._opts.defaultContent==""){l.hideInfoWindow()}l._moveNext(l.i)},400)}this._fromPause=false;this._fromStop=false};h.prototype.stop=function(){this.i=0;this._fromStop=true;clearInterval(this._intervalFlag);this._clearTimeout();for(var m=0,l=this._opts.landmarkPois,k=l.length;m<k;m++){l[m].bShow=false}};h.prototype.pause=function(){clearInterval(this._intervalFlag);this._fromPause=true;this._clearTimeout()};h.prototype.hideInfoWindow=function(){this._overlay._div.style.visibility="hidden"};h.prototype.showInfoWindow=function(){this._overlay._div.style.visibility="visible"};b.object.extend(h.prototype,{_addMarker:function(n){if(this._marker){this.stop();this._map.removeOverlay(this._marker);this._map.removeOverlay(this._markerL);this._map.removeOverlay(this._markerR);clearTimeout(this._timeoutFlag)}this._overlay&&this._map.removeOverlay(this._overlay);var k=new BMapGL.Marker(this.path[0]);this._opts.icon&&k.setIcon(this._opts.icon);this._map.addOverlay(k);k.setAnimation(BMAP_ANIMATION_DROP);this._marker=k;var l=new BMapGL.Marker(this.path[0],{left:true});this._opts.icon&&l.setIcon(this._opts.icon);this._map.addOverlay(l);l.setAnimation(BMAP_ANIMATION_DROP);this._markerL=l;var m=new BMapGL.Marker(this.path[0],{right:true});this._opts.icon&&m.setIcon(this._opts.icon);this._map.addOverlay(m);m.setAnimation(BMAP_ANIMATION_DROP);this._markerR=m},_addInfoWin:function(){var l=this;var k=new d(l._marker.getPosition(),l._opts.defaultContent);k.setRelatedClass(this);this._overlay=k;this._map.addOverlay(k)},_getMercator:function(k){return this._map.getMapType().getProjection().lngLatToPoint(k)},_getDistance:function(l,k){return Math.sqrt(Math.pow(l.x-k.x,2)+Math.pow(l.y-k.y,2))
|
|
2
|
+
},_move:function(v,q,u){var o=this,n=0,k=10,l=this._opts.speed/(1000/k),t=BMapGL.Projection.convertLL2MC(v),s=BMapGL.Projection.convertLL2MC(q);t=new BMapGL.Pixel(t.lng,t.lat);s=new BMapGL.Pixel(s.lng,s.lat);var r=o._getDistance(t,s);var p=null;if(r>30037726){if(s.x<t.x){s.x+=WORLD_SIZE_MC;p="right"}else{s.x-=WORLD_SIZE_MC;p="left"}}var m=Math.round(o._getDistance(t,s)/l);if(m<1){o._moveNext(++o.i);return}o._intervalFlag=setInterval(function(){if(n>=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.x<l.x)||(r==="left")){k=-k+90+90}else{k=-k}p._marker.setRotation(-k);p._markerL.setRotation(-k);p._markerR.setRotation(-k)}else{var n=t.y-l.y;var o=0;if(n>0){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<this.path.length-1){l._move(l.path[k],l.path[k+1],l._tween.linear)}},_setInfoWin:function(m){var l=this;if(!l._overlay){return}l._overlay.setPosition(m,l._marker.getIcon().size);var k=l._troughPointIndex(m);if(k!=-1){clearInterval(l._intervalFlag);l._overlay.setHtml(l._opts.landmarkPois[k].html);l._overlay.setPosition(m,l._marker.getIcon().size);l._pauseForView(k)}else{l._overlay.setHtml(l._opts.defaultContent)}},_pauseForView:function(k){var m=this;var l=setTimeout(function(){m._moveNext(++m.i)},m._opts.landmarkPois[k].pauseTime*1000);m._setTimeoutQuene.push(l)},_clearTimeout:function(){for(var k in this._setTimeoutQuene){clearTimeout(this._setTimeoutQuene[k])}this._setTimeoutQuene.length=0},_tween:{linear:function(l,p,n,o){var k=l;var r=p-l;var m=n;var q=o;return r*m/q+k}},_troughPointIndex:function(l){var n=this._opts.landmarkPois;var o;for(var m=0,k=n.length;m<k;m++){if(!n[m].bShow){o=this._map.getDistance(new BMapGL.Point(n[m].lng,n[m].lat),l);if(o<10){n[m].bShow=true;return m}}}return -1}});function g(m){var n=[];for(var l=0;l<m.length-1;l++){var k=j(m[l],m[l+1]);n=n.concat(k)}n=n.concat(m[m.length-1]);return n}function j(q,p){if(q.equals(p)){return[q]}var r=BMapGL.Projection.getDistance(f(q.lng),f(q.lat),f(p.lng),f(p.lat));var r=BMapGL.Projection.getDistanceByLL(q,p);if(r<250000){return[q]}var k=[];var o=Math.round(r/150000);var m=i(q,p);k.push(q);for(var n=0;n<o;n++){var l=c(q,p,n/o,m);k.push(l)}k.push(p);return k}function c(u,t,v,C){var o=u.lat;var n=t.lat;var B=u.lng;var w=t.lng;var D=f(o);var A=f(n);var l=f(B);var k=f(w);var F=Math.sin((1-v)*C)/Math.sin(C);var E=Math.sin(v*C)/Math.sin(C);var r=F*Math.cos(D)*Math.cos(l)+E*Math.cos(A)*Math.cos(k);var q=F*Math.cos(D)*Math.sin(l)+E*Math.cos(A)*Math.sin(k);var p=F*Math.sin(D)+E*Math.sin(A);var m=Math.atan2(p,Math.sqrt(Math.pow(r,2)+Math.pow(q,2)));var s=Math.atan2(q,r);return new BMapGL.Point(a(s),a(m))}function f(k){return k*Math.PI/180}function a(k){return k/Math.PI*180}function i(o,l){var p=f(o.lat);var n=f(l.lat);var m=f(o.lng);var k=f(l.lng);return Math.acos(Math.sin(p)*Math.sin(n)+Math.cos(p)*Math.cos(n)*Math.cos(Math.abs(k-m)))}function d(k,l){this._point=k;this._html=l}d.prototype=new BMapGL.Overlay();d.prototype.initialize=function(k){var l=this._div=b.dom.create("div",{style:"border:solid 1px #ccc;width:auto;min-width:50px;text-align:center;position:absolute;background:#fff;color:#000;font-size:12px;border-radius: 10px;padding:5px;white-space: nowrap;"});l.innerHTML=this._html;k.getPanes().floatPane.appendChild(l);this._map=k;return l};d.prototype.draw=function(){this.setPosition(this.lushuMain._marker.getPosition(),this.lushuMain._marker.getIcon().size)};b.object.extend(d.prototype,{setPosition:function(p,q){var n=this._map.pointToOverlayPixel(p);var l=b.dom.getStyle(this._div,"width");var o=b.dom.getStyle(this._div,"height");var k=parseInt(this._div.clientWidth||l,10);var m=parseInt(this._div.clientHeight||o,10);this._div.style.left=n.x-k/2+"px";this._div.style.bottom=-(n.y-q.height)+"px"},setHtml:function(k){this._div.innerHTML=k},setRelatedClass:function(k){this.lushuMain=k}})})();
|