@tarojs/components
Version:
1 lines • 30.8 kB
JavaScript
var __awaiter=this&&this.__awaiter||function(t,e,a,o){function n(t){return t instanceof a?t:new a((function(e){e(t)}))}return new(a||(a=Promise))((function(a,i){function r(t){try{s(o.next(t))}catch(t){i(t)}}function l(t){try{s(o["throw"](t))}catch(t){i(t)}}function s(t){t.done?a(t.value):n(t.value).then(r,l)}s((o=o.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var a={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o,n,i,r;return r={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(r[Symbol.iterator]=function(){return this}),r;function l(t){return function(e){return s([t,e])}}function s(l){if(o)throw new TypeError("Generator is already executing.");while(r&&(r=0,l[0]&&(a=0)),a)try{if(o=1,n&&(i=l[0]&2?n["return"]:l[0]?n["throw"]||((i=n["return"])&&i.call(n),0):n.next)&&!(i=i.call(n,l[1])).done)return i;if(n=0,i)l=[l[0]&2,i.value];switch(l[0]){case 0:case 1:i=l;break;case 4:a.label++;return{value:l[1],done:false};case 5:a.label++;n=l[1];l=[0];continue;case 7:l=a.ops.pop();a.trys.pop();continue;default:if(!(i=a.trys,i=i.length>0&&i[i.length-1])&&(l[0]===6||l[0]===2)){a=0;continue}if(l[0]===3&&(!i||l[1]>i[0]&&l[1]<i[3])){a.label=l[1];break}if(l[0]===6&&a.label<i[1]){a.label=i[1];i=l;break}if(i&&a.label<i[2]){a.label=i[2];a.ops.push(l);break}if(i[2])a.ops.pop();a.trys.pop();continue}l=e.call(t,a)}catch(t){l=[6,t];n=0}finally{o=i=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:true}}};System.register(["./p-2b70c348.system.js","hammerjs"],(function(t){"use strict";var e,a,o,n,i,r;return{setters:[function(t){e=t.r;a=t.c;o=t.h;n=t.H;i=t.g},function(t){r=t.default}],execute:function(){var l=".BMap_cpyCtrl,.anchorBL img,.BMap_bubble_buttons{display:none}";var s=t("taro_map_core",function(){function t(t){var o=this;e(this,t);this.onTap=a(this,"tap",7);this.currentRotation=0;this._getCenterLocation=function(t){o.map.getOverlays().forEach((function(t){if(t instanceof BMapGL.Marker&&t.isCenterMarker){o.map.removeOverlay(t)}}));t.iconPath="https://img0.baidu.com/it/u=2604176863,3349829508&fm=253&fmt=auto&app=138&f=PNG?w=243&h=243";var e=new BMapGL.Icon(t.iconPath,new BMapGL.Size(20,30));var a=[o.longitude,o.latitude];var n=new BMapGL.Marker(new BMapGL.Point(o.longitude,o.latitude),{icon:e});n.isCenterMarker=true;o.map.addOverlay(n);return a};this._setLocMarkerIcon=function(t){var e=new BMapGL.Icon(t.iconPath,new BMapGL.Size(20,30));var a=new BMapGL.Point(116.404,39.915);var n=new BMapGL.Marker(a,{icon:e});o.map.addOverlay(n)};this._translateMarker=function(t){var e=t.destination.latitude;var a=t.destination.longitude;if(e<-80&&e>=-90){e=t.destination.latitude+10}var n=new BMapGL.Point(a,e);var i={flagId:true,flagCoordinate:true};var r={errMsg:"animationEnd:ok"};var l=o.map.getOverlays();var s=l.find((function(e){return e instanceof BMapGL.Marker&&e.id===t.markerId}));if(!s){console.error('Marker "'.concat(t.markerId,'" not found.'));i.flagId=false;return i}if(e>90||e<-90||a>180||a<-180||isNaN(e)||isNaN(a)){i.flagCoordinate=false;return i}var d=s.getPosition();var u={lng:(n.lng-d.lng)/(t.duration/16),lat:(n.lat-d.lat)/(t.duration/16)};var c=s.getRotation();var p=t.rotate;if(!o.currentRotation){o.currentRotation=p}else{o.currentRotation+=p}var h=(o.currentRotation-c)/(t.duration/16);var v=d;var f=c;if(!t.moveWithRotate&&t.autoRotate){var g=0;var m=setInterval((function(){v=new BMapGL.Point(v.lng+u.lng,v.lat+u.lat);s.setPosition(v);g++;if(g>=t.duration/16){clearInterval(m);var e=0;var a=setInterval((function(){f+=h;s.setRotation(f);e++;if(e>=t.duration/16){clearInterval(a);t===null||t===void 0?void 0:t.animationEnd(r)}}),16)}}),16)}else if(t.moveWithRotate&&t.autoRotate){var b=0;var w=setInterval((function(){v=new BMapGL.Point(v.lng+u.lng,v.lat+u.lat);s.setPosition(v);f+=h;s.setRotation(f);b++;if(b>=t.duration/16){clearInterval(w);t===null||t===void 0?void 0:t.animationEnd(r)}}),16)}else if(t.moveWithRotate&&!t.autoRotate){var y=0;var M=setInterval((function(){v=new BMapGL.Point(v.lng+u.lng,v.lat+u.lat);s.setPosition(v);y++;if(y>=t.duration/16){clearInterval(M);t===null||t===void 0?void 0:t.animationEnd(r)}}),16)}return i};this._includePoints=function(t){var e=t.points.map((function(t){return new BMapGL.Point(t.longitude,t.latitude)}));var a=o.map.getZoom();var n=o.map.getCenter();var i=o.map.getViewport(e);o.map.centerAndZoom(i.center,i.zoom);var r=o.map.getBounds();var l=true;for(var s=0;s<e.length;s++){if(!r.containsPoint(e[s])){o.map.centerAndZoom(n,a);l=false;break}}return l};this._getRegion=function(){var t=o.map.getBounds();var e=t.getSouthWest();var a=t.getNorthEast();return{southwest:{lat:e.lat,lng:e.lng},northeast:{lat:a.lat,lng:a.lng}}};this._getRotate=function(){var t=o.rotate;if(t<0||t>360){t=0}return t};this._getSkew=function(){var t=o.skew;if(t<0||t>40){t=0}return t};this._getScale=function(){var t=o.scale;return t};this._setCenterOffset=function(t){var e=t.offset,a=e[0],n=e[1];var i=o.map.getSize();var r=Math.max(.25*i.width,Math.min(.75*i.width,a*i.width));var l=Math.max(.25*i.height,Math.min(.75*i.height,n*i.height));var s=new BMapGL.Pixel(r,l);var d=o.map.pixelToPoint(s);o.map.panTo(d)};this._addMarkers=function(t){if(t.clear){o.map.clearOverlays(o.markers)}t.markers.forEach((function(e){var a,n,i,l,s,d,u,c,p,h,v,f,g,m;if(e.latitude&&e.longitude&&e.iconPath){var b=new BMapGL.Point(e.longitude,e.latitude);var w=new BMapGL.Marker(b,{enableClicking:true});o.map.addOverlay(w);w.id=e.id;w.alpha=e.alpha;if(e.zIndex){w.setZIndex(e.zIndex)}if(e.width&&e.height&&e.iconPath){var y=new BMapGL.Icon(e.iconPath,new BMapGL.Size(e.width,e.height));w.setIcon(y)}else if(e.iconPath){var M=new Image;M.src=e.iconPath;M.style.opacity=String(e.alpha);M.onload=function(){var t=new BMapGL.Size(M.width,M.height);var a=new BMapGL.Icon(M.src,t);a.imageOffset=new BMapGL.Size(0,0,e.alpha||1);w.setIcon(a)}}else{console.error("没有找到iconPath图片路径");return}var x=e.rotate?e.rotate:0;if(x){w.setRotation(x)}if(e.anchor){var B=((n=(a=e.anchor)===null||a===void 0?void 0:a.x)!==null&&n!==void 0?n:0)*(e.width||0);var L=((l=(i=e.anchor)===null||i===void 0?void 0:i.y)!==null&&l!==void 0?l:0)*(e.height||0);w.setOffset(new BMapGL.Size(B,L))}if(!e.callout&&e.title){var _=new r(o.mapRef);_.on("tap",(function(e){var a=e.center;var n=a.x;var i=a.y;var r=15;t.markers.forEach((function(t){var e=document.getElementsByClassName("bmap-container")[0];var a=e.getBoundingClientRect();var l=a.left;var s=a.top;var d=new BMapGL.Point(t.longitude,t.latitude);var u=o.map.pointToPixel(d);var c=u.x+l;var p=u.y+s;var h=Math.sqrt(Math.pow(n-c,2)+Math.pow(i-p,2));if(h<r&&t.id===w.id){var v='<div style="text-align:center">'.concat(t.title,"</div>");var f=new BMapGL.InfoWindow(v);o.map.openInfoWindow(f,b)}}))}))}if(e.callout){var B=((s=e.callout)===null||s===void 0?void 0:s.anchorX)?(d=e.callout)===null||d===void 0?void 0:d.anchorX:0;var L=((u=e.callout)===null||u===void 0?void 0:u.anchorY)?(c=e.callout)===null||c===void 0?void 0:c.anchorY:0;var P=new BMapGL.InfoWindow('<div style="\n padding: '.concat((p=e.callout)===null||p===void 0?void 0:p.padding,"px;\n color:").concat((h=e.callout)===null||h===void 0?void 0:h.color,";\n text-align:").concat((v=e.callout)===null||v===void 0?void 0:v.textAlign,';"\n >\n <p style="font-size:').concat((f=e.callout)===null||f===void 0?void 0:f.fontSize,'px">').concat(((g=e.callout)===null||g===void 0?void 0:g.content)||"","</p>\n </div>"),{width:200,height:100,offset:new BMapGL.Size(B-24,L-20)});w.callout=P;o.map.addOverlay(w);if(((m=e.callout)===null||m===void 0?void 0:m.display)==="ALWAYS"){w.callout.disableCloseOnClick();var G=w.getPosition();w.callout.addEventListener("open",(function(){var t,a,o,n;console.log(w.callout);var i=document.querySelector(".BMap_bubble_pop");if(i){var r=i.querySelector(".triangle");if(!r){r=document.createElement("div");r.className="triangle";i.appendChild(r)}var l=document.querySelector(".BMap_bubble_pop>img");if(l){l.setAttribute("style","position: absolute;transform: translate(-50%, 0); top: ".concat(G.lat-100,"px; left: ").concat(G.lng-20,"px;display:none"))}var s=(t=e.callout)===null||t===void 0?void 0:t.bgColor;var d=((a=e.callout)===null||a===void 0?void 0:a.borderWidth)||5;var u=(o=e.callout)===null||o===void 0?void 0:o.borderColor;var c=(n=e.callout)===null||n===void 0?void 0:n.borderRadius;d=Math.min(d,15);r.setAttribute("style","width:0;height:0;border-left:".concat(d,"px solid transparent;border-right:").concat(d,"px solid transparent;border-top:").concat(d,"px solid ").concat(u,";position:absolute;left:83px;bottom:-").concat(2*d,"px"));i.setAttribute("style","background-color:".concat(s,";top:").concat(G.lat-120,"px; left:").concat(G.lng-100,"px;position: absolute;border: ").concat(d,"px solid ").concat(u,";border-radius:").concat(c,"px; "))}}));o.map.openInfoWindow(w.callout,b)}else{var _=new r(o.mapRef);_.on("tap",(function(e){var a=e.center;var n=a.x;var i=a.y;var r=15;t.markers.forEach((function(t){var e=document.getElementsByClassName("bmap-container")[0];var a=e.getBoundingClientRect();var l=a.left;var s=a.top;var d=new BMapGL.Point(t.longitude,t.latitude);var u=o.map.pointToPixel(d);var c=u.x+l;var p=u.y+s;var h=Math.sqrt(Math.pow(n-c,2)+Math.pow(i-p,2));if(h<r&&t.id===w.id){var v=w.getPosition();w.callout.addEventListener("open",(function(){var e,a,o,n;console.log(w.callout);var i=document.querySelector(".BMap_bubble_pop");if(i){var r=i.querySelector(".triangle");if(!r){r=document.createElement("div");r.className="triangle";i.appendChild(r)}var l=document.querySelector(".BMap_bubble_pop>img");if(l){l.setAttribute("style","position: absolute;transform: translate(-50%, 0); top: ".concat(v.lat-100,"px; left: ").concat(v.lng-20,"px;display:none"))}var s=(e=t.callout)===null||e===void 0?void 0:e.bgColor;var d=((a=t.callout)===null||a===void 0?void 0:a.borderWidth)||5;var u=(o=t.callout)===null||o===void 0?void 0:o.borderColor;var c=(n=t.callout)===null||n===void 0?void 0:n.borderRadius;d=Math.min(d,15);r.setAttribute("style","width:0;height:0;border-left:".concat(d,"px solid transparent;border-right:").concat(d,"px solid transparent;border-top:").concat(d,"px solid ").concat(u,";position:absolute;left:83px;bottom:-").concat(2*d,"px"));i.setAttribute("style","background-color:".concat(s,";top:").concat(v.lat-120,"px; left:").concat(v.lng-100,"px;position: absolute;border: ").concat(d,"px solid ").concat(u,";border-radius:").concat(c,"px; "))}}));o.map.openInfoWindow(w.callout,b)}else{w.callout.enableCloseOnClick()}}))}))}}if(e.label){var S=e.label.content||"";var k={position:b,offset:new BMapGL.Size(e.label.anchorX||0,e.label.anchorY||0)};var C=new BMapGL.Label(S,k);C.setStyle({color:e.label.color,fontSize:e.label.fontSize+"px",borderWidth:e.label.borderWidth+"px",borderColor:e.label.borderColor,borderRadius:e.label.borderRadius+"px",background:e.label.bgColor,padding:e.label.padding+"px"});w.setLabel(C)}}}))};this._removeMarkers=function(t){var e=o.map.getOverlays();var a={};t.markerIds.forEach((function(t){var n=e.find((function(e){return e instanceof BMapGL.Marker&&String(e.id)===t}));a=n;o.map.removeOverlay(n)}));return a};this._moveAlong=function(t){var e=t.path;var a=t.markerId;var n=t.duration;var i=t.autoRotate;var r=o.map.getOverlays().find((function(t){return t instanceof BMapGL.Marker&&t.id===a}));var l=e.map((function(t){return new BMapGL.Point(t.longitude,t.latitude)}));var s={flagId:true,flagCoordinate:true};if(!r){console.error('Marker "'.concat(a,'" not found.'));s.flagId=false;return s}for(var d=0;d<l.length;d++){var u=l[d];if(u.lat<-80&&u.lat>=-90){u.lat+=10}if(u.lng<-180||u.lng>180||u.lat<-90||u.lat>90||isNaN(u.lng)||isNaN(u.lat)){s.flagCoordinate=false;return s}}if(s.flagId&&s.flagCoordinate){var c=performance.now();var p=function(t){var e=t-c;var a=Math.min(e/n,1);var s=o.getPointOnPath(l,a);r.setPosition(s);if(i&&a<1){var d=o.getPointOnPath(l,Math.min(a+.01,1));var u=o.calculateRotation(s,d);r.setRotation(u)}if(a<1){requestAnimationFrame(p)}else{r.setPosition(l[l.length-1]);r.setRotation(0)}};requestAnimationFrame(p)}return s};this.getPointOnPath=function(t,e){var a=o.calculateTotalLength(t);var n=a*e;var i=0;for(var r=0;r<t.length-1;r++){var l=o.map.getDistance(t[r],t[r+1]);if(i+l>=n){var s=(n-i)/l;var d=t[r+1].lng-t[r].lng;var u=t[r+1].lat-t[r].lat;var c=t[r].lng+d*s;var p=t[r].lat+u*s;return new BMapGL.Point(c,p)}i+=l}return t[t.length-1]};this.calculateTotalLength=function(t){var e=0;for(var a=0;a<t.length-1;a++){e+=o.map.getDistance(t[a],t[a+1])}return e};this.calculateRotation=function(t,e){var a=e.lng-t.lng;var o=e.lat-t.lat;var n=Math.atan2(o,a)*(180/Math.PI);n=90-n;return n};this._addGroundOverlay=function(t){var e=t.src,a=t.opacity,n=t.bounds,i=t.visible,r=t.id,l=t.zIndex;var s=true;if(n.southwest.longitude>=n.northeast.longitude||n.southwest.latitude>=n.northeast.latitude){s=false;return}if(n.southwest.latitude>90||n.southwest.latitude<-90||n.southwest.longitude>180||n.southwest.longitude<-180||isNaN(n.southwest.latitude)||isNaN(n.southwest.longitude)){s=false;return}if(n.northeast.latitude>90||n.northeast.latitude<-90||n.northeast.longitude>180||n.northeast.longitude<-180||isNaN(n.northeast.latitude)||isNaN(n.northeast.longitude)){s=false;return}var d=new BMapGL.Bounds(new BMapGL.Point(n.southwest.longitude,n.southwest.latitude),new BMapGL.Point(n.northeast.longitude,n.northeast.latitude));function u(t,e,a,o,n,i,r){this._bounds=t;this._imageUrl=e;this._map=a;this._visible=o;this._opacity=n;this._zIndex=i;this._id=r}u.prototype=new BMapGL.Overlay;u.prototype.initialize=function(t){var e=this;if(document.getElementById(this._id)){var a=document.getElementById(this._id);a===null||a===void 0?void 0:a.remove()}this._map=t;if(!this._div){var o=document.createElement("div");o.id=this._id;o.style.position="absolute";o.style.border="none";o.style.zIndex=this._zIndex;var n=document.createElement("img");n.src=this._imageUrl;var i=this._opacity<0?"1":this._opacity;n.style.opacity=i;o.appendChild(n);this._div=o}t.addEventListener("zoomend",(function(){var a=t.pointToOverlayPixel(e._bounds.getSouthWest());var o=t.pointToOverlayPixel(e._bounds.getNorthEast());var n=o.x-a.x;var i=a.y-o.y;e._div.style.width=n+"px";e._div.style.height=i+"px";var r=e._div.querySelector("img");r.style.width=n+"px";r.style.height=i+"px"}));t.getPanes().labelPane.appendChild(this._div);return this._div};u.prototype.draw=function(){var e={lat:t.bounds.northeast.latitude,lng:t.bounds.southwest.longitude};var a=this._map.pointToOverlayPixel(e);this._div.style.left=a.x+"px";this._div.style.top=a.y+"px";var o=this._map.getBounds();var n=this._map.pointToPixel(o.getSouthWest());var i=this._map.pointToPixel(o.getNorthEast());var r=i.x-n.x;var l=i.y-n.y;var s=this._map.getZoom();var d=r*Math.pow(2,18-s);var u=l*Math.pow(2,18-s);this._div.style.width=d+"px";this._div.style.height=u+"px";this._div.style.display=this._visible?"block":"none";var c=this._opacity<0?"1":this._opacity;this._div.getElementsByTagName("img")[0].style.opacity=c};var c=new u(d,e,o.map,i,a,l,r);o.map.addOverlay(c);var p=o.map.getOverlays().sort((function(t,e){return t._zIndex-e._zIndex}));o.groundOverlay=c;p.forEach((function(t){return t.draw()}));var h=o.map.getZoom();if(h<20){o.map.setZoom(h+1);o.map.setZoom(h)}else{o.map.setZoom(h-1);o.map.setZoom(h)}return s};this._updateGroundOverlay=function(t){var e=t.src,a=t.opacity,n=t.bounds,i=t.visible,r=t.id,l=t.zIndex;var s;var d=true;var u=true;var c={};var p=o.map.getOverlays();var h=p.find((function(t){return t._id===r}));if(!h){d=false;c={flagId:d,flagCoordinate:u};s=Object.assign({},c);return s}if(n.southwest.longitude>=n.northeast.longitude||n.southwest.latitude>=n.northeast.latitude){u=false;c={flagId:d,flagCoordinate:u};s=Object.assign({},c)}if(n.southwest.latitude>90||n.southwest.latitude<-90||n.southwest.longitude>180||n.southwest.longitude<-180||isNaN(n.southwest.latitude)||isNaN(n.southwest.longitude)){u=false;c={flagId:d,flagCoordinate:u};s=Object.assign({},c)}if(n.northeast.latitude>90||n.northeast.latitude<-90||n.northeast.longitude>180||n.northeast.longitude<-180||isNaN(n.northeast.latitude)||isNaN(n.northeast.longitude)){u=false;c={flagId:d,flagCoordinate:u};s=Object.assign({},c)}if(d&&u){var v=new BMapGL.Bounds(new BMapGL.Point(n.southwest.longitude,n.southwest.latitude),new BMapGL.Point(n.northeast.longitude,n.northeast.latitude));var f=o.map.getZoom();if(h){var g=document.getElementById(r);if(g){var m=g.querySelector("img");if(m){var b=a<0?"1":a;g.style.opacity=b;m.style.display=i?"block":"none";g.style.zIndex=l;var w=new Image;w.onload=function(){m.src=e;var t=v.getNorthEast().lng-v.getSouthWest().lng;var a=o.map.getSize().width;var n=a/Math.pow(2,18-f)*t;var i=w.naturalHeight/w.naturalWidth;var r=n*i;m.style.width="".concat(n,"px");m.style.height="".concat(r,"px");h._bounds=v;h.draw();o.map.panTo(o.map.getCenter());h.draw()};w.src=e}}}else{console.error("未找到id为".concat(r,"的元素"))}c={flagId:d,flagCoordinate:u};s=Object.assign({},c);return s}else{return s}};this._removeGroundOverlay=function(t){var e=o.map.getOverlays();var a="";var n=e.find((function(e){return e._id===t.id}));a=n;if(n){o.map.removeOverlay(n)}return a};this._setBoundary=function(t){var e=t.northeast.latitude;var a=t.southwest.latitude;var n=true;if(t.northeast.latitude<=-80&&t.northeast.latitude>=-90){e=t.northeast.latitude+10}if(t.southwest.latitude<=-80&&t.southwest.latitude>=-90){a=t.southwest.latitude+10}if(t.northeast.latitude<-90||t.northeast.latitude>90||t.northeast.longitude<-180||t.northeast.longitude>180||isNaN(t.northeast.latitude)||isNaN(t.northeast.longitude)||t.northeast.longitude<t.southwest.longitude||t.northeast.latitude<t.southwest.latitude){n=false;return}if(t.southwest.latitude<-90||t.southwest.latitude>90||t.southwest.longitude<-180||t.southwest.longitude>180||isNaN(t.southwest.latitude)||isNaN(t.southwest.longitude)){n=false;return}var i=new BMapGL.Point(t.northeast.longitude,e);var r=new BMapGL.Point(t.southwest.longitude,a);var l=new BMapGL.Bounds(r,i);var s=o.map.getViewport([i,r]);o.map.centerAndZoom(new BMapGL.Point(s.center.lng,s.center.lat),s.zoom+2);o.map.addOverlay(new BMapGL.Polygon([new BMapGL.Point(l.sw.lng,l.sw.lat),new BMapGL.Point(l.sw.lng,l.ne.lat),new BMapGL.Point(l.ne.lng,l.ne.lat),new BMapGL.Point(l.ne.lng,l.sw.lat)],{fillOpacity:0}));BMapGLLib.AreaRestriction.setBounds(o.map,l);return n};this.latitude=undefined;this.longitude=undefined;this.scale=undefined;this.minScale=undefined;this.maxScale=undefined;this.markers=undefined;this.polyline=undefined;this.circles=undefined;this.polygons=undefined;this.subkey=undefined;this.layerStyle=undefined;this.rotate=undefined;this.skew=undefined;this.showCompass=undefined;this.showScale=undefined;this.enableOverlooking=undefined;this.enableZoom=undefined;this.enableScroll=undefined;this.enableRotate=undefined;this.enableSatellite=undefined;this.enableTraffic=undefined;this.enableBuilding=undefined;this.enableAutoMaxOverlooking=undefined;this.enable3D=undefined;this.width="100%";this.height="100%"}t.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){var t,e,a,o,n,n,i,l,s,d,u,c,p,h,v,f,g,m,b,w,y,M;var x=this;return __generator(this,(function(B){switch(B.label){case 0:return[4,this.loadMapScript()];case 1:B.sent();return[4,this.LoadBmapLibScript()];case 2:B.sent();if(this.mapRef){this.mapRef.addEventListener("touchmove",(function(t){if(t.cancelable){t.preventDefault()}}));this.map=new BMapGL.Map(this.mapRef);this.map.removeControl(this.map.getMapType());if(this.latitude<-90||this.latitude>90||this.longitude<-180||this.longitude>180||isNaN(this.latitude)||isNaN(this.longitude)){console.error("请正确设置中心经纬度");return[2]}t=isNaN(this.scale)?16:this.scale;e=isNaN(this.minScale)?3:this.minScale;a=isNaN(this.maxScale)?16:this.maxScale;o=new BMapGL.Point(this.longitude,this.latitude);if(e<3||e>20){e=3;this.map.setMinZoom(3)}else{this.map.setMinZoom(e)}if(a>20||a<3){a=20;this.map.setMaxZoom(20)}else{this.map.setMaxZoom(a)}if(e>a){e=3;this.map.setMinZoom(3);a=20;this.map.setMaxZoom(20)}if(e<=16&&a>=16){if(t>=e&&t<=a){this.map.centerAndZoom(o,t)}else{t=16;this.map.centerAndZoom(o,t)}}else{if(t>=e&&t<=a){this.map.centerAndZoom(o,t)}else if(t<e){t=e;this.map.centerAndZoom(o,e)}else{t=a;this.map.centerAndZoom(o,a)}}if(Array.isArray(this.markers)){this.addMarkers(this.markers)}if(Array.isArray(this.polyline)){this.polyline.forEach((function(t){if(t.points){var e=t.points.map((function(t){return new BMapGL.Point(t.longitude,t.latitude)}));var a=new BMapGL.Polyline(e,{strokeColor:t.color,strokeWeight:t.width,strokeStyle:t.dottedLine?"dashed":"solid",strokeOpacity:1});x.map.addOverlay(a)}}))}if(Array.isArray(this.circles)){this.circles.forEach((function(t){if(t.latitude&&t.longitude&&t.radius){var e=new BMapGL.Point(t.longitude,t.latitude);var a=new BMapGL.Circle(e,t.radius,{strokeColor:t.color,fillColor:t.fillColor,strokeWeight:t.strokeWidth});x.map.addOverlay(a)}}))}if(Array.isArray(this.polygons)){this.polygons.forEach((function(t){var e=t.points.map((function(t){return new BMapGL.Point(t.longitude,t.latitude)}));var a=new BMapGL.Polygon(e,{strokeColor:t.strokeColor,fillColor:t.fillColor,strokeWeight:t.strokeWidth});x.map.addOverlay(a)}))}if(this.layerStyle===0){n=this.layerStyle;if(n){this.map.setMapStyleV2({styleId:this.subkey})}}else{n=this.layerStyle?this.layerStyle:1;if(n===1){this.map.setMapStyleV2({styleId:this.subkey})}}i=this.enable3D===true?this.enable3D:false;l=this.enableOverlooking===true?this.enableOverlooking:false;s=this.enableAutoMaxOverlooking===true?this.enableAutoMaxOverlooking:false;d=this.skew?this.skew:0;if(i===true){if(l===true){if(s===true){this.map.setTilt(75)}else{this.map.setTilt(45)}}else if(d>=0&&d<=40){this.map.setTilt(d)}else{this.map.setTilt(0)}}else{this.map.setTilt(0)}u=this.showCompass===true?this.showCompass:false;if(u===true){c=new BMapGL.NavigationControl3D({anchor:BMAP_ANCHOR_TOP_RIGHT,type:3});this.map.addControl(c)}p=this.showScale===true?this.showScale:false;if(p===true){h=new BMapGL.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT});this.map.addControl(h)}v=this.enableZoom===false?this.enableZoom:true;if(v===true){this.map.enableScrollWheelZoom(this.enableZoom)}if(this.enableZoom===true&&this.mapRef){this.map.enablePinchToZoom()}else{this.map.disablePinchToZoom()}f=this.enableScroll===false?this.enableScroll:true;if(f===true){this.map.enableDragging()}else{this.map.disableDragging()}g=this.rotate?this.rotate:0;if(g>=0&&this.rotate<=360){this.map.setHeading(this.rotate)}else{this.map.setHeading(0)}if(this.enableRotate===true){this.map.enableRotateGestures()}m=this.enableSatellite===true?this.enableSatellite:false;if(m===true&&this.mapRef){b=new BMapGL.MapTypeControl({mapTypes:[BMAP_NORMAL_MAP,BMAP_SATELLITE_MAP]});this.map.addControl(b)}w=this.enableTraffic===true?this.enableTraffic:false;if(w===true&&this.mapRef){this.map.setTrafficOn()}y=this.enableBuilding===false?this.enableBuilding:true;if(y===false){this.map.setDisplayOptions({building:false})}}if(this.map){M=new r(this.mapRef);M.on("tap",(function(t){var e=x.map.pixelToPoint({x:t.center.x,y:t.center.y});x.onTap.emit({longitude:e.lng,latitude:e.lat})}))}return[2]}}))}))};t.prototype.disconnectedCallback=function(){if(this.map){this.map.destroy()}};t.prototype.addMarkers=function(t){var e=this;var a=[];t.forEach((function(t){var o,n,i,l,s,d,u,c,p,h,v,f,g,m;if(a.includes(t.id)){console.error("请输入不同的marker的id");return}a.push(t.id);if(t.latitude&&t.longitude&&t.iconPath&&t.id){if(t.latitude<-90||t.latitude>90||t.longitude<-180||t.longitude>180){console.error("请正确设置marker的经纬度");return}var b=new BMapGL.Point(t.longitude,t.latitude);var w=new BMapGL.Marker(b,{enableClicking:true});w.id=t.id;w.alpha=t.alpha;if(t.zIndex){w.setZIndex(t.zIndex)}if(t.width&&t.height){var y=document.createElement("canvas");y.width=t.width*2;y.height=t.height*2;var M=y.getContext("2d");var x=new Image;x.crossOrigin="Anonymous";x.src=t.iconPath;x.onload=function(){M.drawImage(x,0,0,t.width*2,t.height*2);var e=new BMapGL.Icon(y.toDataURL(),new BMapGL.Size(t.width,t.height),{anchor:new BMapGL.Size(0,0)});w.setIcon(e)}}else{var B=new Image;B.src=t.iconPath;B.style.opacity=String(t.alpha);B.onload=function(){var e=new BMapGL.Size(B.width,B.height);var a=new BMapGL.Icon(B.src,e);a.imageOffset=new BMapGL.Size(0,0,t.alpha||1);w.setIcon(a)}}var L=t.rotate?t.rotate:0;if(L>=0&&L<=360){w.setRotation(L)}var _=(n=(o=t.anchor)===null||o===void 0?void 0:o.x)!==null&&n!==void 0?n:.5;var P=(l=(i=t.anchor)===null||i===void 0?void 0:i.y)!==null&&l!==void 0?l:1;if(_>=0&&_<=1&&P>=0&&P<=1){var G=-_*(t.width||0);var S=-P*(t.height||0);w.setOffset(new BMapGL.Size(G,S))}else{var G=-.5*(t.width||0);var S=-1*(t.height||0);w.setOffset(new BMapGL.Size(G,S))}if(!t.callout&&t.title){var k=new r(e.mapRef);k.on("tap",(function(t){var a=t.center;var o=a.x;var n=a.y;var i=15;e.markers.forEach((function(t){var a=document.getElementsByClassName("bmap-container")[0];var r=a.getBoundingClientRect();var l=r.left;var s=r.top;var d=new BMapGL.Point(t.longitude,t.latitude);var u=e.map.pointToPixel(d);var c=u.x+l;var p=u.y+s;var h=Math.sqrt(Math.pow(o-c,2)+Math.pow(n-p,2));if(h<i&&t.id===w.id){var v='<div style="text-align:center">'.concat(t.title,"</div>");var f=new BMapGL.InfoWindow(v);e.map.openInfoWindow(f,b)}}))}))}if(t.callout){var G=((s=t.callout)===null||s===void 0?void 0:s.anchorX)?(d=t.callout)===null||d===void 0?void 0:d.anchorX:0;var S=((u=t.callout)===null||u===void 0?void 0:u.anchorY)?(c=t.callout)===null||c===void 0?void 0:c.anchorY:0;var C=new BMapGL.InfoWindow('<div style="\n padding: '.concat((p=t.callout)===null||p===void 0?void 0:p.padding,"px;\n color:").concat((h=t.callout)===null||h===void 0?void 0:h.color,";\n text-align:").concat((v=t.callout)===null||v===void 0?void 0:v.textAlign,';"\n >\n <p style="font-size:').concat((f=t.callout)===null||f===void 0?void 0:f.fontSize,'px">').concat(((g=t.callout)===null||g===void 0?void 0:g.content)||"","</p>\n </div>"),{width:200,height:100,offset:new BMapGL.Size(G-24,S-20)});w.callout=C;e.map.addOverlay(w);if(((m=t.callout)===null||m===void 0?void 0:m.display)==="ALWAYS"){w.callout.disableCloseOnClick();var I=w.getPosition();w.callout.addEventListener("open",(function(){var e,a,o,n;var i=document.querySelector(".BMap_bubble_pop");if(i){var r=i.querySelector(".triangle");if(!r){r=document.createElement("div");r.className="triangle";i.appendChild(r)}var l=document.querySelector(".BMap_bubble_pop>img");if(l){l.setAttribute("style","position: absolute;transform: translate(-50%, 0); top: ".concat(I.lat-100,"px; left: ").concat(I.lng-20,"px;display:none"))}var s=(e=t.callout)===null||e===void 0?void 0:e.bgColor;var d=((a=t.callout)===null||a===void 0?void 0:a.borderWidth)||5;var u=(o=t.callout)===null||o===void 0?void 0:o.borderColor;var c=(n=t.callout)===null||n===void 0?void 0:n.borderRadius;d=Math.min(d,15);r.setAttribute("style","width:0;height:0;borderLeft:".concat(d,"px solid transparent;borderRight:").concat(d,"px solid transparent;borderTop:").concat(d,"px solid ").concat(u,";position:absolute;left:83px;bottom:-").concat(2*d,"px"));i.setAttribute("style","background-color:".concat(s,";top:").concat(I.lat-120,"px; left:").concat(I.lng-100,"px;position: absolute;border: ").concat(d,"px solid ").concat(u,";border-radius:").concat(c,"px; "))}}));e.map.openInfoWindow(w.callout,b)}else{var k=new r(e.mapRef);k.on("tap",(function(t){var a=t.center;var o=a.x;var n=a.y;var i=15;e.markers.forEach((function(t){var a=document.getElementsByClassName("bmap-container")[0];var r=a.getBoundingClientRect();var l=r.left;var s=r.top;var d=new BMapGL.Point(t.longitude,t.latitude);var u=e.map.pointToPixel(d);var c=u.x+l;var p=u.y+s;var h=Math.sqrt(Math.pow(o-c,2)+Math.pow(n-p,2));if(h<i&&t.id===w.id){var v=w.getPosition();w.callout.addEventListener("open",(function(){var e,a,o,n;var i=document.querySelector(".BMap_bubble_pop");if(i){var r=i.querySelector(".triangle");if(!r){r=document.createElement("div");r.className="triangle";i.appendChild(r)}var l=document.querySelector(".BMap_bubble_pop>img");if(l){l.setAttribute("style","position: absolute;transform: translate(-50%, 0); top: ".concat(v.lat-100,"px; left: ").concat(v.lng-20,"px;display:none"))}var s=(e=t.callout)===null||e===void 0?void 0:e.bgColor;var d=((a=t.callout)===null||a===void 0?void 0:a.borderWidth)||5;var u=(o=t.callout)===null||o===void 0?void 0:o.borderColor;var c=(n=t.callout)===null||n===void 0?void 0:n.borderRadius;d=Math.min(d,15);r.setAttribute("style","width:0;height:0;border-left:".concat(d,"px solid transparent;border-right:").concat(d,"px solid transparent;border-top:").concat(d,"px solid ").concat(u,";position:absolute;left:83px;bottom:-").concat(2*d,"px"));i.setAttribute("style","background-color:".concat(s,";top:").concat(v.lat-120,"px; left:").concat(v.lng-100,"px;position: absolute;border: ").concat(d,"px solid ").concat(u,";border-radius:").concat(c,"px; "))}}));e.map.openInfoWindow(w.callout,b)}else{w.callout.enableCloseOnClick()}}))}))}}if(t.label){var O=t.label.content||"";var N={position:b,offset:new BMapGL.Size(t.label.anchorX||0,t.label.anchorY||0)};var R=new BMapGL.Label(O,N);var A=t.label.borderColor?t.label.borderColor:"white";R.setStyle({color:t.label.color,fontSize:t.label.fontSize+"px",borderWidth:t.label.borderWidth+"px",borderColor:A,borderRadius:t.label.borderRadius+"px",background:t.label.bgColor,padding:t.label.padding+"px"});w.setLabel(R)}e.map.addOverlay(w)}else{console.error("请检查marker经纬度和marker自定义图标路径和id值")}}))};t.prototype.loadMapScript=function(){return new Promise((function(t,e){var a=document.createElement("script");a.src="https://api.map.baidu.com/getscript?v=3.0&type=webgl&ak=Mb1FLBD3gfnY6bup4v6zEWh6MXwsZ9eo";a.defer=true;a.onload=function(){return t()};a.onerror=e;a.type="text/javascript";document.head.appendChild(a)}))};t.prototype.LoadBmapLibScript=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,new Promise((function(t,e){var a=document.createElement("script");a.src="//mapopen.bj.bcebos.com/github/BMapGLLib/AreaRestriction/src/AreaRestriction.min.js";a.defer=true;a.type="text/javascript";a.onload=function(){t()};a.onerror=e;document.head.appendChild(a)}))]}))}))};t.prototype.render=function(){var t=this;return o(n,null,o("div",{id:"mapContainer",ref:function(e){if(e){t.mapRef=e}},style:{width:this.width,height:this.height}}))};Object.defineProperty(t.prototype,"el",{get:function(){return i(this)},enumerable:false,configurable:true});return t}());s.style=l}}}));