From 59e7c9bac61b2c91b5dbd1f44928fc8437ec4c96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=8C?= <259278618@qq.com> Date: Fri, 31 Jul 2026 09:05:01 +0800 Subject: [PATCH] 1 --- amap/model/dto/poi_dto.go | 1 + amap/service/poi_service.go | 27 ++++++++----------- .../{index-C_dWvpn_.js => index-DDfvPHBE.js} | 4 +-- web/dist/index.html | 2 +- web/src/App.vue | 3 ++- web/src/api/poi.js | 3 ++- 6 files changed, 19 insertions(+), 21 deletions(-) rename web/dist/assets/{index-C_dWvpn_.js => index-DDfvPHBE.js} (98%) diff --git a/amap/model/dto/poi_dto.go b/amap/model/dto/poi_dto.go index fb28c35..c01208a 100644 --- a/amap/model/dto/poi_dto.go +++ b/amap/model/dto/poi_dto.go @@ -7,6 +7,7 @@ type SearchPoiReq struct { Keywords string `json:"keywords" dc:"搜索关键词(和行业分类二选一,或同时使用)"` Types string `json:"types" dc:"行业分类编码(如 050000=餐饮,多个用|分隔,高德详见分类表)"` City string `json:"city" dc:"城市名称(文本搜索时使用)"` + District string `json:"district" dc:"区县名称(选中具体区县时使用,此时不再展开城市下的所有区县)"` Longitude float64 `json:"longitude" dc:"中心点经度(周边搜索时使用)"` Latitude float64 `json:"latitude" dc:"中心点纬度(周边搜索时使用)"` Radius int `d:"1000" json:"radius" dc:"搜索半径(米,默认1000,最大50000)"` diff --git a/amap/service/poi_service.go b/amap/service/poi_service.go index 068ec58..b58c47e 100644 --- a/amap/service/poi_service.go +++ b/amap/service/poi_service.go @@ -23,7 +23,7 @@ var PoiService = new(poiService) var amapClient = g.Client().Timeout(30 * time.Second) const ( - maxOffset = 25 // 每页展示条数(高德最大25) + maxOffset = 20 // 每页展示条数 maxPage = 100 // 高德API最大页数 ) @@ -91,9 +91,12 @@ func (s *poiService) Search(ctx context.Context, req *dto.SearchPoiReq) (res *dt if types != "" { req.Types = types - // 获取区县列表,按区县 × 分类循环搜索 + g.Log().Info(ctx, "搜索参数", "city", req.City, "district", req.District, "types", req.Types) + // 确定搜索范围:选中区县则只搜该区县,否则获取城市下所有区县 var places []string - if req.City != "" { + if req.District != "" { + places = []string{req.District} + } else if req.City != "" { places, err = s.fetchCityDistricts(ctx, req.City, apiKey) if err != nil { g.Log().Warning(ctx, "获取区县列表失败,使用城市级搜索", "error", err) @@ -204,27 +207,20 @@ func (s *poiService) searchByTypes(ctx context.Context, apiKey string, req *dto. all := make([]*dto.PoiItem, 0, needTotal) seen := map[string]bool{} - // 有区县列表时:按区县 × 分类循环,每组合获取全部分页,全局限定最大请求数 + // 有区县列表时:按区县 × 分类循环,每组合获取全部分页 if len(places) > 0 { - maxAPICalls := 150 - callCount := 0 rateLimitDelay := 200 * time.Millisecond + var hasCalls bool for _, place := range places { - if callCount >= maxAPICalls { - break - } for _, tc := range typeCodes { - if callCount >= maxAPICalls { - break - } - if callCount > 0 { + if hasCalls { time.Sleep(rateLimitDelay) } // 第1页:获取count以计算总页数 pois, totalCount := s.fetchAmapPage(ctx, apiKey, baseUrl, req.Keywords, tc, place, 1, offset) - callCount++ + hasCalls = true if len(pois) == 0 { continue @@ -248,10 +244,9 @@ func (s *poiService) searchByTypes(ctx context.Context, apiKey string, req *dto. } // 第2页起继续获取 - for ap := 2; ap <= totalPages && callCount < maxAPICalls; ap++ { + for ap := 2; ap <= totalPages; ap++ { time.Sleep(rateLimitDelay) morePois, _ := s.fetchAmapPage(ctx, apiKey, baseUrl, req.Keywords, tc, place, ap, offset) - callCount++ if len(morePois) == 0 { break } diff --git a/web/dist/assets/index-C_dWvpn_.js b/web/dist/assets/index-DDfvPHBE.js similarity index 98% rename from web/dist/assets/index-C_dWvpn_.js rename to web/dist/assets/index-DDfvPHBE.js index 5d4847f..b495d10 100644 --- a/web/dist/assets/index-C_dWvpn_.js +++ b/web/dist/assets/index-DDfvPHBE.js @@ -22,7 +22,7 @@ `);return c===-1?"":a.stack.slice(c+1)})();try{if(!r.stack)r.stack=u;else if(u){const c=u.indexOf(` `),f=c===-1?-1:u.indexOf(` `,c+1),d=f===-1?"":u.slice(f+1);String(r.stack).endsWith(d)||(r.stack+=` -`+u)}}catch{}}throw r}}_request(n,s){typeof n=="string"?(s=s||{},s.url=n):s=n||{},s=kn(this.defaults,s);const{transitional:r,paramsSerializer:a,headers:u}=s;r!==void 0&&bs.assertOptions(r,{silentJSONParsing:ee.transitional(ee.boolean),forcedJSONParsing:ee.transitional(ee.boolean),clarifyTimeoutError:ee.transitional(ee.boolean),legacyInterceptorReqResOrdering:ee.transitional(ee.boolean),advertiseZstdAcceptEncoding:ee.transitional(ee.boolean),validateStatusUndefinedResolves:ee.transitional(ee.boolean)},!1),a!=null&&(b.isFunction(a)?s.paramsSerializer={serialize:a}:bs.assertOptions(a,{encode:ee.function,serialize:ee.function},!0)),s.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?s.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:s.allowAbsoluteUrls=!0),bs.assertOptions(s,{baseUrl:ee.spelling("baseURL"),withXsrfToken:ee.spelling("withXSRFToken")},!0),s.method=(s.method||this.defaults.method||"get").toLowerCase();let c=u&&b.merge(u.common,u[s.method]);u&&b.forEach(["delete","get","head","post","put","patch","query","common"],D=>{delete u[D]}),s.headers=se.concat(c,u);const f=[];let d=!0;this.interceptors.request.forEach(function(O){if(typeof O.runWhen=="function"&&O.runWhen(s)===!1)return;d=d&&O.synchronous;const N=s.transitional||Cr;N&&N.legacyInterceptorReqResOrdering?f.unshift(O.fulfilled,O.rejected):f.push(O.fulfilled,O.rejected)});const m=[];this.interceptors.response.forEach(function(O){m.push(O.fulfilled,O.rejected)});let _,v=0,S;if(!d){const D=[jo.bind(this),void 0];for(D.unshift(...f),D.push(...m),S=D.length,_=Promise.resolve(s);vjo.call(this,I)))}catch(C){_=Promise.reject(C)}break}}if(!_)try{_=jo.call(this,I)}catch(D){_=Promise.reject(D)}for(v=0,S=m.length;v{if(!r._listeners)return;let u=r._listeners.length;for(;u-- >0;)r._listeners[u](a);r._listeners=null}),this.promise.then=a=>{let u;const c=new Promise(f=>{r.subscribe(f),u=f}).then(a);return c.cancel=function(){r.unsubscribe(u)},c},n(function(u,c,f){r.reason||(r.reason=new Wi(u,c,f),s(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(n){if(this.reason){n(this.reason);return}this._listeners?this._listeners.push(n):this._listeners=[n]}unsubscribe(n){if(!this._listeners)return;const s=this._listeners.indexOf(n);s!==-1&&this._listeners.splice(s,1)}toAbortSignal(){const n=new AbortController,s=r=>{n.abort(r)};return this.subscribe(s),n.signal.unsubscribe=()=>this.unsubscribe(s),n.signal}static source(){let n;return{token:new lc(function(a){n=a}),cancel:n}}};function fm(e){return function(s){return e.apply(null,s)}}function dm(e){return b.isObject(e)&&e.isAxiosError===!0}const rr={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerReturnsAnUnknownError:520,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(rr).forEach(([e,n])=>{rr[n]=e});function uc(e){const n=new Mn(e),s=Du(Mn.prototype.request,n);return b.extend(s,Mn.prototype,n,{allOwnKeys:!0}),b.extend(s,n,null,{allOwnKeys:!0}),s.create=function(a){return uc(kn(e,a))},s}const Vt=uc(ji);Vt.Axios=Mn;Vt.CanceledError=Wi;Vt.CancelToken=hm;Vt.isCancel=ec;Vt.VERSION=Ar;Vt.toFormData=Gs;Vt.AxiosError=K;Vt.Cancel=Vt.CanceledError;Vt.all=function(n){return Promise.all(n)};Vt.spread=fm;Vt.isAxiosError=dm;Vt.mergeConfig=kn;Vt.AxiosHeaders=se;Vt.formToJSON=e=>tc(b.isHTMLForm(e)?new FormData(e):e);Vt.getAdapter=ac.getAdapter;Vt.HttpStatusCode=rr;Vt.default=Vt;const{Axios:ug,AxiosError:cg,CanceledError:hg,isCancel:fg,CancelToken:dg,VERSION:pg,all:_g,Cancel:mg,isAxiosError:gg,spread:vg,toFormData:yg,AxiosHeaders:wg,HttpStatusCode:bg,formToJSON:xg,getAdapter:Pg,mergeConfig:Tg,create:Sg}=Vt,Xs=Vt.create({baseURL:"",timeout:3e4});async function pm(e,n="",s=1,r=0,a=0,u=1e3,c=""){const f={page:s};return e&&(f.keywords=e),c&&(f.types=c),n&&(f.city=n),r&&(f.longitude=r),a&&(f.latitude=a),u&&(f.radius=u),(await Xs.get("/poi/search",{params:f})).data.data}async function _m(e,n=""){const s={keywords:e};return n&&(s.city=n),(await Xs.get("/poi/suggest",{params:s})).data.data}async function mm(){return(await Xs.get("/poi/categories")).data.data.categories}async function gm(e){return(await Xs.get("/poi/districts",{params:{city:e}})).data.data.districts}function vm(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var xi={exports:{}};/* @preserve +`+u)}}catch{}}throw r}}_request(n,s){typeof n=="string"?(s=s||{},s.url=n):s=n||{},s=kn(this.defaults,s);const{transitional:r,paramsSerializer:a,headers:u}=s;r!==void 0&&bs.assertOptions(r,{silentJSONParsing:ee.transitional(ee.boolean),forcedJSONParsing:ee.transitional(ee.boolean),clarifyTimeoutError:ee.transitional(ee.boolean),legacyInterceptorReqResOrdering:ee.transitional(ee.boolean),advertiseZstdAcceptEncoding:ee.transitional(ee.boolean),validateStatusUndefinedResolves:ee.transitional(ee.boolean)},!1),a!=null&&(b.isFunction(a)?s.paramsSerializer={serialize:a}:bs.assertOptions(a,{encode:ee.function,serialize:ee.function},!0)),s.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?s.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:s.allowAbsoluteUrls=!0),bs.assertOptions(s,{baseUrl:ee.spelling("baseURL"),withXsrfToken:ee.spelling("withXSRFToken")},!0),s.method=(s.method||this.defaults.method||"get").toLowerCase();let c=u&&b.merge(u.common,u[s.method]);u&&b.forEach(["delete","get","head","post","put","patch","query","common"],D=>{delete u[D]}),s.headers=se.concat(c,u);const f=[];let d=!0;this.interceptors.request.forEach(function(O){if(typeof O.runWhen=="function"&&O.runWhen(s)===!1)return;d=d&&O.synchronous;const N=s.transitional||Cr;N&&N.legacyInterceptorReqResOrdering?f.unshift(O.fulfilled,O.rejected):f.push(O.fulfilled,O.rejected)});const m=[];this.interceptors.response.forEach(function(O){m.push(O.fulfilled,O.rejected)});let _,v=0,S;if(!d){const D=[jo.bind(this),void 0];for(D.unshift(...f),D.push(...m),S=D.length,_=Promise.resolve(s);vjo.call(this,I)))}catch(C){_=Promise.reject(C)}break}}if(!_)try{_=jo.call(this,I)}catch(D){_=Promise.reject(D)}for(v=0,S=m.length;v{if(!r._listeners)return;let u=r._listeners.length;for(;u-- >0;)r._listeners[u](a);r._listeners=null}),this.promise.then=a=>{let u;const c=new Promise(f=>{r.subscribe(f),u=f}).then(a);return c.cancel=function(){r.unsubscribe(u)},c},n(function(u,c,f){r.reason||(r.reason=new Wi(u,c,f),s(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(n){if(this.reason){n(this.reason);return}this._listeners?this._listeners.push(n):this._listeners=[n]}unsubscribe(n){if(!this._listeners)return;const s=this._listeners.indexOf(n);s!==-1&&this._listeners.splice(s,1)}toAbortSignal(){const n=new AbortController,s=r=>{n.abort(r)};return this.subscribe(s),n.signal.unsubscribe=()=>this.unsubscribe(s),n.signal}static source(){let n;return{token:new lc(function(a){n=a}),cancel:n}}};function fm(e){return function(s){return e.apply(null,s)}}function dm(e){return b.isObject(e)&&e.isAxiosError===!0}const rr={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerReturnsAnUnknownError:520,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(rr).forEach(([e,n])=>{rr[n]=e});function uc(e){const n=new Mn(e),s=Du(Mn.prototype.request,n);return b.extend(s,Mn.prototype,n,{allOwnKeys:!0}),b.extend(s,n,null,{allOwnKeys:!0}),s.create=function(a){return uc(kn(e,a))},s}const Vt=uc(ji);Vt.Axios=Mn;Vt.CanceledError=Wi;Vt.CancelToken=hm;Vt.isCancel=ec;Vt.VERSION=Ar;Vt.toFormData=Gs;Vt.AxiosError=K;Vt.Cancel=Vt.CanceledError;Vt.all=function(n){return Promise.all(n)};Vt.spread=fm;Vt.isAxiosError=dm;Vt.mergeConfig=kn;Vt.AxiosHeaders=se;Vt.formToJSON=e=>tc(b.isHTMLForm(e)?new FormData(e):e);Vt.getAdapter=ac.getAdapter;Vt.HttpStatusCode=rr;Vt.default=Vt;const{Axios:ug,AxiosError:cg,CanceledError:hg,isCancel:fg,CancelToken:dg,VERSION:pg,all:_g,Cancel:mg,isAxiosError:gg,spread:vg,toFormData:yg,AxiosHeaders:wg,HttpStatusCode:bg,formToJSON:xg,getAdapter:Pg,mergeConfig:Tg,create:Sg}=Vt,Xs=Vt.create({baseURL:"",timeout:3e4});async function pm(e,n="",s=1,r=0,a=0,u=1e3,c="",f=""){const d={page:s};return e&&(d.keywords=e),c&&(d.types=c),n&&(d.city=n),f&&(d.district=f),r&&(d.longitude=r),a&&(d.latitude=a),u&&(d.radius=u),(await Xs.get("/poi/search",{params:d})).data.data}async function _m(e,n=""){const s={keywords:e};return n&&(s.city=n),(await Xs.get("/poi/suggest",{params:s})).data.data}async function mm(){return(await Xs.get("/poi/categories")).data.data.categories}async function gm(e){return(await Xs.get("/poi/districts",{params:{city:e}})).data.data.districts}function vm(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var xi={exports:{}};/* @preserve * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade */var ym=xi.exports,Al;function wm(){return Al||(Al=1,(function(e,n){(function(s,r){r(n)})(ym,(function(s){var r="1.9.4";function a(t){var i,o,l,h;for(o=1,l=arguments.length;o"u"||!L||!L.Mixin)){t=F(t)?t:[t];for(var i=0;i0?Math.floor(t):Math.ceil(t)};q.prototype={clone:function(){return new q(this.x,this.y)},add:function(t){return this.clone()._add(Q(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(Q(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new q(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new q(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=re(this.x),this.y=re(this.y),this},distanceTo:function(t){t=Q(t);var i=t.x-this.x,o=t.y-this.y;return Math.sqrt(i*i+o*o)},equals:function(t){return t=Q(t),t.x===this.x&&t.y===this.y},contains:function(t){return t=Q(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+S(this.x)+", "+S(this.y)+")"}};function Q(t,i,o){return t instanceof q?t:F(t)?new q(t[0],t[1]):t==null?t:typeof t=="object"&&"x"in t&&"y"in t?new q(t.x,t.y):new q(t,i,o)}function ot(t,i){if(t)for(var o=i?[t,i]:t,l=0,h=o.length;l=this.min.x&&o.x<=this.max.x&&i.y>=this.min.y&&o.y<=this.max.y},intersects:function(t){t=pt(t);var i=this.min,o=this.max,l=t.min,h=t.max,p=h.x>=i.x&&l.x<=o.x,y=h.y>=i.y&&l.y<=o.y;return p&&y},overlaps:function(t){t=pt(t);var i=this.min,o=this.max,l=t.min,h=t.max,p=h.x>i.x&&l.xi.y&&l.y=i.lat&&h.lat<=o.lat&&l.lng>=i.lng&&h.lng<=o.lng},intersects:function(t){t=Et(t);var i=this._southWest,o=this._northEast,l=t.getSouthWest(),h=t.getNorthEast(),p=h.lat>=i.lat&&l.lat<=o.lat,y=h.lng>=i.lng&&l.lng<=o.lng;return p&&y},overlaps:function(t){t=Et(t);var i=this._southWest,o=this._northEast,l=t.getSouthWest(),h=t.getNorthEast(),p=h.lat>i.lat&&l.lati.lng&&l.lng1,mc=(function(){var t=!1;try{var i=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",v,i),window.removeEventListener("testPassiveEventSupport",v,i)}catch{}return t})(),gc=(function(){return!!document.createElement("canvas").getContext})(),Ys=!!(document.createElementNS&&k("svg").createSVGRect),vc=!!Ys&&(function(){var t=document.createElement("div");return t.innerHTML="",(t.firstChild&&t.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),yc=!Ys&&(function(){try{var t=document.createElement("div");t.innerHTML='';var i=t.firstChild;return i.style.behavior="url(#default#VML)",i&&typeof i.adj=="object"}catch{return!1}})(),wc=navigator.platform.indexOf("Mac")===0,bc=navigator.platform.indexOf("Linux")===0;function ke(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var et={ie:j,ielt9:Z,edge:W,webkit:B,android:tt,android23:G,androidStock:lt,opera:vt,chrome:Ct,gecko:St,safari:jt,phantom:$t,opera12:me,win:ve,ie3d:rn,webkit3d:Bn,gecko3d:te,any3d:ye,mobile:an,mobileWebkit:Vi,mobileWebkit3d:hc,msPointer:Rr,pointer:Ir,touch:fc,touchNative:kr,mobileOpera:dc,mobileGecko:pc,retina:_c,passiveEvents:mc,canvas:gc,svg:Ys,vml:yc,inlineSvg:vc,mac:wc,linux:bc},Br=et.msPointer?"MSPointerDown":"pointerdown",Nr=et.msPointer?"MSPointerMove":"pointermove",zr=et.msPointer?"MSPointerUp":"pointerup",Dr=et.msPointer?"MSPointerCancel":"pointercancel",Qs={touchstart:Br,touchmove:Nr,touchend:zr,touchcancel:Dr},Fr={touchstart:Ec,touchmove:$i,touchend:$i,touchcancel:$i},Nn={},Zr=!1;function xc(t,i,o){return i==="touchstart"&&Lc(),Fr[i]?(o=Fr[i].bind(this,o),t.addEventListener(Qs[i],o,!1),o):(console.warn("wrong event specified:",i),v)}function Pc(t,i,o){if(!Qs[i]){console.warn("wrong event specified:",i);return}t.removeEventListener(Qs[i],o,!1)}function Tc(t){Nn[t.pointerId]=t}function Sc(t){Nn[t.pointerId]&&(Nn[t.pointerId]=t)}function Hr(t){delete Nn[t.pointerId]}function Lc(){Zr||(document.addEventListener(Br,Tc,!0),document.addEventListener(Nr,Sc,!0),document.addEventListener(zr,Hr,!0),document.addEventListener(Dr,Hr,!0),Zr=!0)}function $i(t,i){if(i.pointerType!==(i.MSPOINTER_TYPE_MOUSE||"mouse")){i.touches=[];for(var o in Nn)i.touches.push(Nn[o]);i.changedTouches=[i],t(i)}}function Ec(t,i){i.MSPOINTER_TYPE_TOUCH&&i.pointerType===i.MSPOINTER_TYPE_TOUCH&&Jt(i),$i(t,i)}function Cc(t){var i={},o,l;for(l in t)o=t[l],i[l]=o&&o.bind?o.bind(t):o;return t=i,i.type="dblclick",i.detail=2,i.isTrusted=!1,i._simulated=!0,i}var Oc=200;function Ac(t,i){t.addEventListener("dblclick",i);var o=0,l;function h(p){if(p.detail!==1){l=p.detail;return}if(!(p.pointerType==="mouse"||p.sourceCapabilities&&!p.sourceCapabilities.firesTouchEvents)){var y=$r(p);if(!(y.some(function(T){return T instanceof HTMLLabelElement&&T.attributes.for})&&!y.some(function(T){return T instanceof HTMLInputElement||T instanceof HTMLSelectElement}))){var x=Date.now();x-o<=Oc?(l++,l===2&&i(Cc(p))):l=1,o=x}}}return t.addEventListener("click",h),{dblclick:i,simDblclick:h}}function Mc(t,i){t.removeEventListener("dblclick",i.dblclick),t.removeEventListener("click",i.simDblclick)}var to=Gi(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),si=Gi(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Ur=si==="webkitTransition"||si==="OTransition"?si+"End":"transitionend";function jr(t){return typeof t=="string"?document.getElementById(t):t}function oi(t,i){var o=t.style[i]||t.currentStyle&&t.currentStyle[i];if((!o||o==="auto")&&document.defaultView){var l=document.defaultView.getComputedStyle(t,null);o=l?l[i]:null}return o==="auto"?null:o}function Tt(t,i,o){var l=document.createElement(t);return l.className=i||"",o&&o.appendChild(l),l}function Ht(t){var i=t.parentNode;i&&i.removeChild(t)}function qi(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function zn(t){var i=t.parentNode;i&&i.lastChild!==t&&i.appendChild(t)}function Dn(t){var i=t.parentNode;i&&i.firstChild!==t&&i.insertBefore(t,i.firstChild)}function eo(t,i){if(t.classList!==void 0)return t.classList.contains(i);var o=Ki(t);return o.length>0&&new RegExp("(^|\\s)"+i+"(\\s|$)").test(o)}function ft(t,i){if(t.classList!==void 0)for(var o=D(i),l=0,h=o.length;l0?2*window.devicePixelRatio:1;function Kr(t){return et.edge?t.wheelDeltaY/2:t.deltaY&&t.deltaMode===0?-t.deltaY/kc:t.deltaY&&t.deltaMode===1?-t.deltaY*20:t.deltaY&&t.deltaMode===2?-t.deltaY*60:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?-t.detail*20:t.detail?t.detail/-32765*60:0}function po(t,i){var o=i.relatedTarget;if(!o)return!0;try{for(;o&&o!==t;)o=o.parentNode}catch{return!1}return o!==t}var Bc={__proto__:null,on:ct,off:Nt,stopPropagation:gn,disableScrollPropagation:fo,disableClickPropagation:ui,preventDefault:Jt,stop:vn,getPropagationPath:$r,getMousePosition:qr,getWheelDelta:Kr,isExternalTarget:po,addListener:ct,removeListener:Nt},Gr=bt.extend({run:function(t,i,o,l){this.stop(),this._el=t,this._inProgress=!0,this._duration=o||.25,this._easeOutPower=1/Math.max(l||.5,.2),this._startPos=mn(t),this._offset=i.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=dt(this._animate,this),this._step()},_step:function(t){var i=+new Date-this._startTime,o=this._duration*1e3;ithis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,i){this._enforcingBounds=!0;var o=this.getCenter(),l=this._limitCenter(o,this._zoom,Et(t));return o.equals(l)||this.panTo(l,i),this._enforcingBounds=!1,this},panInside:function(t,i){i=i||{};var o=Q(i.paddingTopLeft||i.padding||[0,0]),l=Q(i.paddingBottomRight||i.padding||[0,0]),h=this.project(this.getCenter()),p=this.project(t),y=this.getPixelBounds(),x=pt([y.min.add(o),y.max.subtract(l)]),T=x.getSize();if(!x.contains(p)){this._enforcingBounds=!0;var z=p.subtract(x.getCenter()),X=x.extend(p).getSize().subtract(T);h.x+=z.x<0?-X.x:X.x,h.y+=z.y<0?-X.y:X.y,this.panTo(this.unproject(h),i),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=a({animate:!1,pan:!0},t===!0?{animate:!0}:t);var i=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var o=this.getSize(),l=i.divideBy(2).round(),h=o.divideBy(2).round(),p=l.subtract(h);return!p.x&&!p.y?this:(t.animate&&t.pan?this.panBy(p):(t.pan&&this._rawPanBy(p),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(c(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:i,newSize:o}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=a({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var i=c(this._handleGeolocationResponse,this),o=c(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(i,o,t):navigator.geolocation.getCurrentPosition(i,o,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(this._container._leaflet_id){var i=t.code,o=t.message||(i===1?"permission denied":i===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:i,message:"Geolocation error: "+o+"."})}},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var i=t.coords.latitude,o=t.coords.longitude,l=new xt(i,o),h=l.toBounds(t.coords.accuracy*2),p=this._locateOptions;if(p.setView){var y=this.getBoundsZoom(h);this.setView(l,p.maxZoom?Math.min(y,p.maxZoom):y)}var x={latlng:l,bounds:h,timestamp:t.timestamp};for(var T in t.coords)typeof t.coords[T]=="number"&&(x[T]=t.coords[T]);this.fire("locationfound",x)}},addHandler:function(t,i){if(!i)return this;var o=this[t]=new i(this);return this._handlers.push(o),this.options[t]&&o.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),Ht(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(Rt(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var t;for(t in this._layers)this._layers[t].remove();for(t in this._panes)Ht(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,i){var o="leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),l=Tt("div",o,i||this._mapPane);return t&&(this._panes[t]=l),l},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds(),i=this.unproject(t.getBottomLeft()),o=this.unproject(t.getTopRight());return new Bt(i,o)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,i,o){t=Et(t),o=Q(o||[0,0]);var l=this.getZoom()||0,h=this.getMinZoom(),p=this.getMaxZoom(),y=t.getNorthWest(),x=t.getSouthEast(),T=this.getSize().subtract(o),z=pt(this.project(x,l),this.project(y,l)).getSize(),X=et.any3d?this.options.zoomSnap:1,at=T.x/z.x,mt=T.y/z.y,ae=i?Math.max(at,mt):Math.min(at,mt);return l=this.getScaleZoom(ae,l),X&&(l=Math.round(l/(X/100))*(X/100),l=i?Math.ceil(l/X)*X:Math.floor(l/X)*X),Math.max(h,Math.min(p,l))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new q(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,i){var o=this._getTopLeftPoint(t,i);return new ot(o,o.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(t===void 0?this.getZoom():t)},getPane:function(t){return typeof t=="string"?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,i){var o=this.options.crs;return i=i===void 0?this._zoom:i,o.scale(t)/o.scale(i)},getScaleZoom:function(t,i){var o=this.options.crs;i=i===void 0?this._zoom:i;var l=o.zoom(t*o.scale(i));return isNaN(l)?1/0:l},project:function(t,i){return i=i===void 0?this._zoom:i,this.options.crs.latLngToPoint(J(t),i)},unproject:function(t,i){return i=i===void 0?this._zoom:i,this.options.crs.pointToLatLng(Q(t),i)},layerPointToLatLng:function(t){var i=Q(t).add(this.getPixelOrigin());return this.unproject(i)},latLngToLayerPoint:function(t){var i=this.project(J(t))._round();return i._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(J(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(Et(t))},distance:function(t,i){return this.options.crs.distance(J(t),J(i))},containerPointToLayerPoint:function(t){return Q(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return Q(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var i=this.containerPointToLayerPoint(Q(t));return this.layerPointToLatLng(i)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(J(t)))},mouseEventToContainerPoint:function(t){return qr(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var i=this._container=jr(t);if(i){if(i._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");ct(i,"scroll",this._onScroll,this),this._containerId=d(i)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&et.any3d,ft(t,"leaflet-container"+(et.touch?" leaflet-touch":"")+(et.retina?" leaflet-retina":"")+(et.ielt9?" leaflet-oldie":"")+(et.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var i=oi(t,"position");i!=="absolute"&&i!=="relative"&&i!=="fixed"&&i!=="sticky"&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),qt(this._mapPane,new q(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(ft(t.markerPane,"leaflet-zoom-hide"),ft(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,i,o){qt(this._mapPane,new q(0,0));var l=!this._loaded;this._loaded=!0,i=this._limitZoom(i),this.fire("viewprereset");var h=this._zoom!==i;this._moveStart(h,o)._move(t,i)._moveEnd(h),this.fire("viewreset"),l&&this.fire("load")},_moveStart:function(t,i){return t&&this.fire("zoomstart"),i||this.fire("movestart"),this},_move:function(t,i,o,l){i===void 0&&(i=this._zoom);var h=this._zoom!==i;return this._zoom=i,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),l?o&&o.pinch&&this.fire("zoom",o):((h||o&&o.pinch)&&this.fire("zoom",o),this.fire("move",o)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return Rt(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){qt(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[d(this._container)]=this;var i=t?Nt:ct;i(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&i(window,"resize",this._onResize,this),et.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){Rt(this._resizeRequest),this._resizeRequest=dt(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,i){for(var o=[],l,h=i==="mouseout"||i==="mouseover",p=t.target||t.srcElement,y=!1;p;){if(l=this._targets[d(p)],l&&(i==="click"||i==="preclick")&&this._draggableMoved(l)){y=!0;break}if(l&&l.listens(i,!0)&&(h&&!po(p,t)||(o.push(l),h))||p===this._container)break;p=p.parentNode}return!o.length&&!y&&!h&&this.listens(i,!0)&&(o=[this]),o},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var i=t.target||t.srcElement;if(!(!this._loaded||i._leaflet_disable_events||t.type==="click"&&this._isClickDisabled(i))){var o=t.type;o==="mousedown"&&ao(i),this._fireDOMEvent(t,o)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,i,o){if(t.type==="click"){var l=a({},t);l.type="preclick",this._fireDOMEvent(l,l.type,o)}var h=this._findEventTargets(t,i);if(o){for(var p=[],y=0;y0?Math.round(t-i)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(i))},_limitZoom:function(t){var i=this.getMinZoom(),o=this.getMaxZoom(),l=et.any3d?this.options.zoomSnap:1;return l&&(t=Math.round(t/l)*l),Math.max(i,Math.min(o,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){Wt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,i){var o=this._getCenterOffset(t)._trunc();return(i&&i.animate)!==!0&&!this.getSize().contains(o)?!1:(this.panBy(o,i),!0)},_createAnimProxy:function(){var t=this._proxy=Tt("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(i){var o=to,l=this._proxy.style[o];_n(this._proxy,this.project(i.center,i.zoom),this.getZoomScale(i.zoom,1)),l===this._proxy.style[o]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){Ht(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),i=this.getZoom();_n(this._proxy,this.project(t,i),this.getZoomScale(i,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,i,o){if(this._animatingZoom)return!0;if(o=o||{},!this._zoomAnimated||o.animate===!1||this._nothingToAnimate()||Math.abs(i-this._zoom)>this.options.zoomAnimationThreshold)return!1;var l=this.getZoomScale(i),h=this._getCenterOffset(t)._divideBy(1-1/l);return o.animate!==!0&&!this.getSize().contains(h)?!1:(dt(function(){this._moveStart(!0,o.noMoveStart||!1)._animateZoom(t,i,!0)},this),!0)},_animateZoom:function(t,i,o,l){this._mapPane&&(o&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=i,ft(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:i,noUpdate:l}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(c(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&Wt(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Nc(t,i){return new Pt(t,i)}var Ce=Lt.extend({options:{position:"topright"},initialize:function(t){O(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var i=this._map;return i&&i.removeControl(this),this.options.position=t,i&&i.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var i=this._container=this.onAdd(t),o=this.getPosition(),l=t._controlCorners[o];return ft(i,"leaflet-control"),o.indexOf("bottom")!==-1?l.insertBefore(i,l.firstChild):l.appendChild(i),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(Ht(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),ci=function(t){return new Ce(t)};Pt.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},i="leaflet-",o=this._controlContainer=Tt("div",i+"control-container",this._container);function l(h,p){var y=i+h+" "+i+p;t[h+p]=Tt("div",y,o)}l("top","left"),l("top","right"),l("bottom","left"),l("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)Ht(this._controlCorners[t]);Ht(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Jr=Ce.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,i,o,l){return o1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=i&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var i=this._getLayer(d(t.target)),o=i.overlay?t.type==="add"?"overlayadd":"overlayremove":t.type==="add"?"baselayerchange":null;o&&this._map.fire(o,i)},_createRadioElement:function(t,i){var o='",l=document.createElement("div");return l.innerHTML=o,l.firstChild},_addItem:function(t){var i=document.createElement("label"),o=this._map.hasLayer(t.layer),l;t.overlay?(l=document.createElement("input"),l.type="checkbox",l.className="leaflet-control-layers-selector",l.defaultChecked=o):l=this._createRadioElement("leaflet-base-layers_"+d(this),o),this._layerControlInputs.push(l),l.layerId=d(t.layer),ct(l,"click",this._onInputClick,this);var h=document.createElement("span");h.innerHTML=" "+t.name;var p=document.createElement("span");i.appendChild(p),p.appendChild(l),p.appendChild(h);var y=t.overlay?this._overlaysList:this._baseLayersList;return y.appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t=this._layerControlInputs,i,o,l=[],h=[];this._handlingClick=!0;for(var p=t.length-1;p>=0;p--)i=t[p],o=this._getLayer(i.layerId).layer,i.checked?l.push(o):i.checked||h.push(o);for(p=0;p=0;h--)i=t[h],o=this._getLayer(i.layerId).layer,i.disabled=o.options.minZoom!==void 0&&lo.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section;this._preventClick=!0,ct(t,"click",Jt),this.expand();var i=this;setTimeout(function(){Nt(t,"click",Jt),i._preventClick=!1})}}),zc=function(t,i,o){return new Jr(t,i,o)},_o=Ce.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(t){var i="leaflet-control-zoom",o=Tt("div",i+" leaflet-bar"),l=this.options;return this._zoomInButton=this._createButton(l.zoomInText,l.zoomInTitle,i+"-in",o,this._zoomIn),this._zoomOutButton=this._createButton(l.zoomOutText,l.zoomOutTitle,i+"-out",o,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),o},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,i,o,l,h){var p=Tt("a",o,l);return p.innerHTML=t,p.href="#",p.title=i,p.setAttribute("role","button"),p.setAttribute("aria-label",i),ui(p),ct(p,"click",vn),ct(p,"click",h,this),ct(p,"click",this._refocusOnMap,this),p},_updateDisabled:function(){var t=this._map,i="leaflet-disabled";Wt(this._zoomInButton,i),Wt(this._zoomOutButton,i),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(ft(this._zoomOutButton,i),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(ft(this._zoomInButton,i),this._zoomInButton.setAttribute("aria-disabled","true"))}});Pt.mergeOptions({zoomControl:!0}),Pt.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new _o,this.addControl(this.zoomControl))});var Dc=function(t){return new _o(t)},Xr=Ce.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var i="leaflet-control-scale",o=Tt("div",i),l=this.options;return this._addScales(l,i+"-line",o),t.on(l.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),o},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,i,o){t.metric&&(this._mScale=Tt("div",i,o)),t.imperial&&(this._iScale=Tt("div",i,o))},_update:function(){var t=this._map,i=t.getSize().y/2,o=t.distance(t.containerPointToLatLng([0,i]),t.containerPointToLatLng([this.options.maxWidth,i]));this._updateScales(o)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var i=this._getRoundNum(t),o=i<1e3?i+" m":i/1e3+" km";this._updateScale(this._mScale,o,i/t)},_updateImperial:function(t){var i=t*3.2808399,o,l,h;i>5280?(o=i/5280,l=this._getRoundNum(o),this._updateScale(this._iScale,l+" mi",l/o)):(h=this._getRoundNum(i),this._updateScale(this._iScale,h+" ft",h/i))},_updateScale:function(t,i,o){t.style.width=Math.round(this.options.maxWidth*o)+"px",t.innerHTML=i},_getRoundNum:function(t){var i=Math.pow(10,(Math.floor(t)+"").length-1),o=t/i;return o=o>=10?10:o>=5?5:o>=3?3:o>=2?2:1,i*o}}),Fc=function(t){return new Xr(t)},Zc='',mo=Ce.extend({options:{position:"bottomright",prefix:''+(et.inlineSvg?Zc+" ":"")+"Leaflet"},initialize:function(t){O(this,t),this._attributions={}},onAdd:function(t){t.attributionControl=this,this._container=Tt("div","leaflet-control-attribution"),ui(this._container);for(var i in t._layers)t._layers[i].getAttribution&&this.addAttribution(t._layers[i].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var i in this._attributions)this._attributions[i]&&t.push(i);var o=[];this.options.prefix&&o.push(this.options.prefix),t.length&&o.push(t.join(", ")),this._container.innerHTML=o.join(' ')}}});Pt.mergeOptions({attributionControl:!0}),Pt.addInitHook(function(){this.options.attributionControl&&new mo().addTo(this)});var Hc=function(t){return new mo(t)};Ce.Layers=Jr,Ce.Zoom=_o,Ce.Scale=Xr,Ce.Attribution=mo,ci.layers=zc,ci.zoom=Dc,ci.scale=Fc,ci.attribution=Hc;var Ne=Lt.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Ne.addTo=function(t,i){return t.addHandler(i,this),this};var Uc={Events:gt},Yr=et.touch?"touchstart mousedown":"mousedown",ln=bt.extend({options:{clickTolerance:3},initialize:function(t,i,o,l){O(this,l),this._element=t,this._dragStartTarget=i||t,this._preventOutline=o},enable:function(){this._enabled||(ct(this._dragStartTarget,Yr,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ln._dragging===this&&this.finishDrag(!0),Nt(this._dragStartTarget,Yr,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(this._enabled&&(this._moved=!1,!eo(this._element,"leaflet-zoom-anim"))){if(t.touches&&t.touches.length!==1){ln._dragging===this&&this.finishDrag();return}if(!(ln._dragging||t.shiftKey||t.which!==1&&t.button!==1&&!t.touches)&&(ln._dragging=this,this._preventOutline&&ao(this._element),so(),ri(),!this._moving)){this.fire("down");var i=t.touches?t.touches[0]:t,o=Wr(this._element);this._startPoint=new q(i.clientX,i.clientY),this._startPos=mn(this._element),this._parentScale=lo(o);var l=t.type==="mousedown";ct(document,l?"mousemove":"touchmove",this._onMove,this),ct(document,l?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(t){if(this._enabled){if(t.touches&&t.touches.length>1){this._moved=!0;return}var i=t.touches&&t.touches.length===1?t.touches[0]:t,o=new q(i.clientX,i.clientY)._subtract(this._startPoint);!o.x&&!o.y||Math.abs(o.x)+Math.abs(o.y)p&&(y=x,p=T);p>o&&(i[y]=1,vo(t,i,o,l,y),vo(t,i,o,y,h))}function $c(t,i){for(var o=[t[0]],l=1,h=0,p=t.length;li&&(o.push(t[l]),h=l);return hi.max.x&&(o|=2),t.yi.max.y&&(o|=8),o}function qc(t,i){var o=i.x-t.x,l=i.y-t.y;return o*o+l*l}function hi(t,i,o,l){var h=i.x,p=i.y,y=o.x-h,x=o.y-p,T=y*y+x*x,z;return T>0&&(z=((t.x-h)*y+(t.y-p)*x)/T,z>1?(h=o.x,p=o.y):z>0&&(h+=y*z,p+=x*z)),y=t.x-h,x=t.y-p,l?y*y+x*x:new q(h,p)}function be(t){return!F(t[0])||typeof t[0][0]!="object"&&typeof t[0][0]<"u"}function oa(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),be(t)}function ra(t,i){var o,l,h,p,y,x,T,z;if(!t||t.length===0)throw new Error("latlngs not passed");be(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var X=J([0,0]),at=Et(t),mt=at.getNorthWest().distanceTo(at.getSouthWest())*at.getNorthEast().distanceTo(at.getNorthWest());mt<1700&&(X=go(t));var ae=t.length,Gt=[];for(o=0;ol){T=(p-l)/h,z=[x.x-T*(x.x-y.x),x.y-T*(x.y-y.y)];break}var de=i.unproject(Q(z));return J([de.lat+X.lat,de.lng+X.lng])}var Kc={__proto__:null,simplify:ea,pointToSegmentDistance:na,closestPointOnSegment:Wc,clipSegment:sa,_getEdgeIntersection:Yi,_getBitCode:yn,_sqClosestPointOnSegment:hi,isFlat:be,_flat:oa,polylineCenter:ra},yo={project:function(t){return new q(t.lng,t.lat)},unproject:function(t){return new xt(t.y,t.x)},bounds:new ot([-180,-90],[180,90])},wo={R:6378137,R_MINOR:6356752314245179e-9,bounds:new ot([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(t){var i=Math.PI/180,o=this.R,l=t.lat*i,h=this.R_MINOR/o,p=Math.sqrt(1-h*h),y=p*Math.sin(l),x=Math.tan(Math.PI/4-l/2)/Math.pow((1-y)/(1+y),p/2);return l=-o*Math.log(Math.max(x,1e-10)),new q(t.lng*i*o,l)},unproject:function(t){for(var i=180/Math.PI,o=this.R,l=this.R_MINOR/o,h=Math.sqrt(1-l*l),p=Math.exp(-t.y/o),y=Math.PI/2-2*Math.atan(p),x=0,T=.1,z;x<15&&Math.abs(T)>1e-7;x++)z=h*Math.sin(y),z=Math.pow((1-z)/(1+z),h/2),T=Math.PI/2-2*Math.atan(p*z)-y,y+=T;return new xt(y*i,t.x*i/o)}},Gc={__proto__:null,LonLat:yo,Mercator:wo,SphericalMercator:_t},Jc=a({},$,{code:"EPSG:3395",projection:wo,transformation:(function(){var t=.5/(Math.PI*wo.R);return g(t,.5,-t,.5)})()}),aa=a({},$,{code:"EPSG:4326",projection:yo,transformation:g(1/180,1,-1/180,.5)}),Xc=a({},V,{projection:yo,transformation:g(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,i){var o=i.lng-t.lng,l=i.lat-t.lat;return Math.sqrt(o*o+l*l)},infinite:!0});V.Earth=$,V.EPSG3395=Jc,V.EPSG3857=w,V.EPSG900913=E,V.EPSG4326=aa,V.Simple=Xc;var Oe=bt.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[d(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[d(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var i=t.target;if(i.hasLayer(this)){if(this._map=i,this._zoomAnimated=i._zoomAnimated,this.getEvents){var o=this.getEvents();i.on(o,this),this.once("remove",function(){i.off(o,this)},this)}this.onAdd(i),this.fire("add"),i.fire("layeradd",{layer:this})}}});Pt.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var i=d(t);return this._layers[i]?this:(this._layers[i]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var i=d(t);return this._layers[i]?(this._loaded&&t.onRemove(this),delete this._layers[i],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return d(t)in this._layers},eachLayer:function(t,i){for(var o in this._layers)t.call(i,this._layers[o]);return this},_addLayers:function(t){t=t?F(t)?t:[t]:[];for(var i=0,o=t.length;ithis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()=2&&i[0]instanceof xt&&i[0].equals(i[o-1])&&i.pop(),i},_setLatLngs:function(t){qe.prototype._setLatLngs.call(this,t),be(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return be(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,i=this.options.weight,o=new q(i,i);if(t=new ot(t.min.subtract(o),t.max.add(o)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(t))){if(this.options.noClip){this._parts=this._rings;return}for(var l=0,h=this._rings.length,p;lt.y!=h.y>t.y&&t.x<(h.x-l.x)*(t.y-l.y)/(h.y-l.y)+l.x&&(i=!i);return i||qe.prototype._containsPoint.call(this,t,!0)}});function oh(t,i){return new Hn(t,i)}var Ke=$e.extend({initialize:function(t,i){O(this,i),this._layers={},t&&this.addData(t)},addData:function(t){var i=F(t)?t:t.features,o,l,h;if(i){for(o=0,l=i.length;o0&&h.push(h[0].slice()),h}function Un(t,i){return t.feature?a({},t.feature,{geometry:i}):ss(i)}function ss(t){return t.type==="Feature"||t.type==="FeatureCollection"?t:{type:"Feature",properties:{},geometry:t}}var To={toGeoJSON:function(t){return Un(this,{type:"Point",coordinates:Po(this.getLatLng(),t)})}};Qi.include(To),bo.include(To),ts.include(To),qe.include({toGeoJSON:function(t){var i=!be(this._latlngs),o=is(this._latlngs,i?1:0,!1,t);return Un(this,{type:(i?"Multi":"")+"LineString",coordinates:o})}}),Hn.include({toGeoJSON:function(t){var i=!be(this._latlngs),o=i&&!be(this._latlngs[0]),l=is(this._latlngs,o?2:i?1:0,!0,t);return i||(l=[l]),Un(this,{type:(o?"Multi":"")+"Polygon",coordinates:l})}}),Fn.include({toMultiPoint:function(t){var i=[];return this.eachLayer(function(o){i.push(o.toGeoJSON(t).geometry.coordinates)}),Un(this,{type:"MultiPoint",coordinates:i})},toGeoJSON:function(t){var i=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(i==="MultiPoint")return this.toMultiPoint(t);var o=i==="GeometryCollection",l=[];return this.eachLayer(function(h){if(h.toGeoJSON){var p=h.toGeoJSON(t);if(o)l.push(p.geometry);else{var y=ss(p);y.type==="FeatureCollection"?l.push.apply(l,y.features):l.push(y)}}}),o?Un(this,{geometries:l,type:"GeometryCollection"}):{type:"FeatureCollection",features:l}}});function ca(t,i){return new Ke(t,i)}var rh=ca,os=Oe.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,i,o){this._url=t,this._bounds=Et(i),O(this,o)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(ft(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){Ht(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&zn(this._image),this},bringToBack:function(){return this._map&&Dn(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=Et(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t=this._url.tagName==="IMG",i=this._image=t?this._url:Tt("img");if(ft(i,"leaflet-image-layer"),this._zoomAnimated&&ft(i,"leaflet-zoom-animated"),this.options.className&&ft(i,this.options.className),i.onselectstart=v,i.onmousemove=v,i.onload=c(this.fire,this,"load"),i.onerror=c(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(i.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t){this._url=i.src;return}i.src=this._url,i.alt=this.options.alt},_animateZoom:function(t){var i=this._map.getZoomScale(t.zoom),o=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;_n(this._image,o,i)},_reset:function(){var t=this._image,i=new ot(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),o=i.getSize();qt(t,i.min),t.style.width=o.x+"px",t.style.height=o.y+"px"},_updateOpacity:function(){we(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),ah=function(t,i,o){return new os(t,i,o)},ha=os.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t=this._url.tagName==="VIDEO",i=this._image=t?this._url:Tt("video");if(ft(i,"leaflet-image-layer"),this._zoomAnimated&&ft(i,"leaflet-zoom-animated"),this.options.className&&ft(i,this.options.className),i.onselectstart=v,i.onmousemove=v,i.onloadeddata=c(this.fire,this,"load"),t){for(var o=i.getElementsByTagName("source"),l=[],h=0;h0?l:[i.src];return}F(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(i.style,"objectFit")&&(i.style.objectFit="fill"),i.autoplay=!!this.options.autoplay,i.loop=!!this.options.loop,i.muted=!!this.options.muted,i.playsInline=!!this.options.playsInline;for(var p=0;ph?(i.height=h+"px",ft(t,p)):Wt(t,p),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),o=this._getAnchor();qt(this._container,i.add(o))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var t=this._map,i=parseInt(oi(this._container,"marginBottom"),10)||0,o=this._container.offsetHeight+i,l=this._containerWidth,h=new q(this._containerLeft,-o-this._containerBottom);h._add(mn(this._container));var p=t.layerPointToContainerPoint(h),y=Q(this.options.autoPanPadding),x=Q(this.options.autoPanPaddingTopLeft||y),T=Q(this.options.autoPanPaddingBottomRight||y),z=t.getSize(),X=0,at=0;p.x+l+T.x>z.x&&(X=p.x+l-z.x+T.x),p.x-X-x.x<0&&(X=p.x-x.x),p.y+o+T.y>z.y&&(at=p.y+o-z.y+T.y),p.y-at-x.y<0&&(at=p.y-x.y),(X||at)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([X,at]))}},_getAnchor:function(){return Q(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),ch=function(t,i){return new rs(t,i)};Pt.mergeOptions({closePopupOnClick:!0}),Pt.include({openPopup:function(t,i,o){return this._initOverlay(rs,t,i,o).openOn(this),this},closePopup:function(t){return t=arguments.length?t:this._popup,t&&t.close(),this}}),Oe.include({bindPopup:function(t,i){return this._popup=this._initOverlay(rs,this._popup,t,i),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof $e||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(!(!this._popup||!this._map)){vn(t);var i=t.layer||t.target;if(this._popup._source===i&&!(i instanceof un)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng);return}this._popup._source=i,this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){t.originalEvent.keyCode===13&&this._openPopup(t)}});var as=ze.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){ze.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){ze.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=ze.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip",i=t+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=Tt("div",i),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+d(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var i,o,l=this._map,h=this._container,p=l.latLngToContainerPoint(l.getCenter()),y=l.layerPointToContainerPoint(t),x=this.options.direction,T=h.offsetWidth,z=h.offsetHeight,X=Q(this.options.offset),at=this._getAnchor();x==="top"?(i=T/2,o=z):x==="bottom"?(i=T/2,o=0):x==="center"?(i=T/2,o=z/2):x==="right"?(i=0,o=z/2):x==="left"?(i=T,o=z/2):y.xthis.options.maxZoom||ol?this._retainParent(h,p,y,l):!1)},_retainChildren:function(t,i,o,l){for(var h=2*t;h<2*t+2;h++)for(var p=2*i;p<2*i+2;p++){var y=new q(h,p);y.z=o+1;var x=this._tileCoordsToKey(y),T=this._tiles[x];if(T&&T.active){T.retain=!0;continue}else T&&T.loaded&&(T.retain=!0);o+1this.options.maxZoom||this.options.minZoom!==void 0&&h1){this._setView(t,o);return}for(var at=h.min.y;at<=h.max.y;at++)for(var mt=h.min.x;mt<=h.max.x;mt++){var ae=new q(mt,at);if(ae.z=this._tileZoom,!!this._isValidTile(ae)){var Gt=this._tiles[this._tileCoordsToKey(ae)];Gt?Gt.current=!0:y.push(ae)}}if(y.sort(function(de,Wn){return de.distanceTo(p)-Wn.distanceTo(p)}),y.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var xe=document.createDocumentFragment();for(mt=0;mto.max.x)||!i.wrapLat&&(t.yo.max.y))return!1}if(!this.options.bounds)return!0;var l=this._tileCoordsToBounds(t);return Et(this.options.bounds).overlaps(l)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var i=this._map,o=this.getTileSize(),l=t.scaleBy(o),h=l.add(o),p=i.unproject(l,t.z),y=i.unproject(h,t.z);return[p,y]},_tileCoordsToBounds:function(t){var i=this._tileCoordsToNwSe(t),o=new Bt(i[0],i[1]);return this.options.noWrap||(o=this._map.wrapLatLngBounds(o)),o},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var i=t.split(":"),o=new q(+i[0],+i[1]);return o.z=+i[2],o},_removeTile:function(t){var i=this._tiles[t];i&&(Ht(i.el),delete this._tiles[t],this.fire("tileunload",{tile:i.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){ft(t,"leaflet-tile");var i=this.getTileSize();t.style.width=i.x+"px",t.style.height=i.y+"px",t.onselectstart=v,t.onmousemove=v,et.ielt9&&this.options.opacity<1&&we(t,this.options.opacity)},_addTile:function(t,i){var o=this._getTilePos(t),l=this._tileCoordsToKey(t),h=this.createTile(this._wrapCoords(t),c(this._tileReady,this,t));this._initTile(h),this.createTile.length<2&&dt(c(this._tileReady,this,t,null,h)),qt(h,o),this._tiles[l]={el:h,coords:t,current:!0},i.appendChild(h),this.fire("tileloadstart",{tile:h,coords:t})},_tileReady:function(t,i,o){i&&this.fire("tileerror",{error:i,tile:o,coords:t});var l=this._tileCoordsToKey(t);o=this._tiles[l],o&&(o.loaded=+new Date,this._map._fadeAnimated?(we(o.el,0),Rt(this._fadeFrame),this._fadeFrame=dt(this._updateOpacity,this)):(o.active=!0,this._pruneTiles()),i||(ft(o.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:o.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),et.ielt9||!this._map._fadeAnimated?dt(this._pruneTiles,this):setTimeout(c(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var i=new q(this._wrapX?_(t.x,this._wrapX):t.x,this._wrapY?_(t.y,this._wrapY):t.y);return i.z=t.z,i},_pxBoundsToTileRange:function(t){var i=this.getTileSize();return new ot(t.min.unscaleBy(i).floor(),t.max.unscaleBy(i).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});function dh(t){return new di(t)}var jn=di.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,i){this._url=t,i=O(this,i),i.detectRetina&&et.retina&&i.maxZoom>0?(i.tileSize=Math.floor(i.tileSize/2),i.zoomReverse?(i.zoomOffset--,i.minZoom=Math.min(i.maxZoom,i.minZoom+1)):(i.zoomOffset++,i.maxZoom=Math.max(i.minZoom,i.maxZoom-1)),i.minZoom=Math.max(0,i.minZoom)):i.zoomReverse?i.minZoom=Math.min(i.maxZoom,i.minZoom):i.maxZoom=Math.max(i.minZoom,i.maxZoom),typeof i.subdomains=="string"&&(i.subdomains=i.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,i){return this._url===t&&i===void 0&&(i=!0),this._url=t,i||this.redraw(),this},createTile:function(t,i){var o=document.createElement("img");return ct(o,"load",c(this._tileOnLoad,this,i,o)),ct(o,"error",c(this._tileOnError,this,i,o)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(o.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(o.referrerPolicy=this.options.referrerPolicy),o.alt="",o.src=this.getTileUrl(t),o},getTileUrl:function(t){var i={r:et.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var o=this._globalTileRange.max.y-t.y;this.options.tms&&(i.y=o),i["-y"]=o}return R(this._url,a(i,this.options))},_tileOnLoad:function(t,i){et.ielt9?setTimeout(c(t,this,null,i),0):t(null,i)},_tileOnError:function(t,i,o){var l=this.options.errorTileUrl;l&&i.getAttribute("src")!==l&&(i.src=l),t(o,i)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,i=this.options.maxZoom,o=this.options.zoomReverse,l=this.options.zoomOffset;return o&&(t=i-t),t+l},_getSubdomain:function(t){var i=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[i]},_abortLoading:function(){var t,i;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&(i=this._tiles[t].el,i.onload=v,i.onerror=v,!i.complete)){i.src=Y;var o=this._tiles[t].coords;Ht(i),delete this._tiles[t],this.fire("tileabort",{tile:i,coords:o})}},_removeTile:function(t){var i=this._tiles[t];if(i)return i.el.setAttribute("src",Y),di.prototype._removeTile.call(this,t)},_tileReady:function(t,i,o){if(!(!this._map||o&&o.getAttribute("src")===Y))return di.prototype._tileReady.call(this,t,i,o)}});function pa(t,i){return new jn(t,i)}var _a=jn.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,i){this._url=t;var o=a({},this.defaultWmsParams);for(var l in i)l in this.options||(o[l]=i[l]);i=O(this,i);var h=i.detectRetina&&et.retina?2:1,p=this.getTileSize();o.width=p.x*h,o.height=p.y*h,this.wmsParams=o},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var i=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[i]=this._crs.code,jn.prototype.onAdd.call(this,t)},getTileUrl:function(t){var i=this._tileCoordsToNwSe(t),o=this._crs,l=pt(o.project(i[0]),o.project(i[1])),h=l.min,p=l.max,y=(this._wmsVersion>=1.3&&this._crs===aa?[h.y,h.x,p.y,p.x]:[h.x,h.y,p.x,p.y]).join(","),x=jn.prototype.getTileUrl.call(this,t);return x+N(this.wmsParams,x,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+y},setParams:function(t,i){return a(this.wmsParams,t),i||this.redraw(),this}});function ph(t,i){return new _a(t,i)}jn.WMS=_a,pa.wms=ph;var Ge=Oe.extend({options:{padding:.1},initialize:function(t){O(this,t),d(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),ft(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,i){var o=this._map.getZoomScale(i,this._zoom),l=this._map.getSize().multiplyBy(.5+this.options.padding),h=this._map.project(this._center,i),p=l.multiplyBy(-o).add(h).subtract(this._map._getNewPixelOrigin(t,i));et.any3d?_n(this._container,p,o):qt(this._container,p)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var t in this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,i=this._map.getSize(),o=this._map.containerPointToLayerPoint(i.multiplyBy(-t)).round();this._bounds=new ot(o,o.add(i.multiplyBy(1+t*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),ma=Ge.extend({options:{tolerance:0},getEvents:function(){var t=Ge.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Ge.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");ct(t,"mousemove",this._onMouseMove,this),ct(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),ct(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){Rt(this._redrawRequest),delete this._ctx,Ht(this._container),Nt(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var t;this._redrawBounds=null;for(var i in this._layers)t=this._layers[i],t._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ge.prototype._update.call(this);var t=this._bounds,i=this._container,o=t.getSize(),l=et.retina?2:1;qt(i,t.min),i.width=l*o.x,i.height=l*o.y,i.style.width=o.x+"px",i.style.height=o.y+"px",et.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){Ge.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[d(t)]=t;var i=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=i),this._drawLast=i,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var i=t._order,o=i.next,l=i.prev;o?o.prev=l:this._drawLast=l,l?l.next=o:this._drawFirst=o,delete t._order,delete this._layers[d(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if(typeof t.options.dashArray=="string"){var i=t.options.dashArray.split(/[, ]+/),o=[],l,h;for(h=0;h')}}catch{}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}})(),_h={_initContainer:function(){this._container=Tt("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Ge.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var i=t._container=pi("shape");ft(i,"leaflet-vml-shape "+(this.options.className||"")),i.coordsize="1 1",t._path=pi("path"),i.appendChild(t._path),this._updateStyle(t),this._layers[d(t)]=t},_addPath:function(t){var i=t._container;this._container.appendChild(i),t.options.interactive&&t.addInteractiveTarget(i)},_removePath:function(t){var i=t._container;Ht(i),t.removeInteractiveTarget(i),delete this._layers[d(t)]},_updateStyle:function(t){var i=t._stroke,o=t._fill,l=t.options,h=t._container;h.stroked=!!l.stroke,h.filled=!!l.fill,l.stroke?(i||(i=t._stroke=pi("stroke")),h.appendChild(i),i.weight=l.weight+"px",i.color=l.color,i.opacity=l.opacity,l.dashArray?i.dashStyle=F(l.dashArray)?l.dashArray.join(" "):l.dashArray.replace(/( *, *)/g," "):i.dashStyle="",i.endcap=l.lineCap.replace("butt","flat"),i.joinstyle=l.lineJoin):i&&(h.removeChild(i),t._stroke=null),l.fill?(o||(o=t._fill=pi("fill")),h.appendChild(o),o.color=l.fillColor||l.color,o.opacity=l.fillOpacity):o&&(h.removeChild(o),t._fill=null)},_updateCircle:function(t){var i=t._point.round(),o=Math.round(t._radius),l=Math.round(t._radiusY||o);this._setPath(t,t._empty()?"M0 0":"AL "+i.x+","+i.y+" "+o+","+l+" 0,"+65535*360)},_setPath:function(t,i){t._path.v=i},_bringToFront:function(t){zn(t._container)},_bringToBack:function(t){Dn(t._container)}},ls=et.vml?pi:k,_i=Ge.extend({_initContainer:function(){this._container=ls("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=ls("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){Ht(this._container),Nt(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ge.prototype._update.call(this);var t=this._bounds,i=t.getSize(),o=this._container;(!this._svgSize||!this._svgSize.equals(i))&&(this._svgSize=i,o.setAttribute("width",i.x),o.setAttribute("height",i.y)),qt(o,t.min),o.setAttribute("viewBox",[t.min.x,t.min.y,i.x,i.y].join(" ")),this.fire("update")}},_initPath:function(t){var i=t._path=ls("path");t.options.className&&ft(i,t.options.className),t.options.interactive&&ft(i,"leaflet-interactive"),this._updateStyle(t),this._layers[d(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){Ht(t._path),t.removeInteractiveTarget(t._path),delete this._layers[d(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var i=t._path,o=t.options;i&&(o.stroke?(i.setAttribute("stroke",o.color),i.setAttribute("stroke-opacity",o.opacity),i.setAttribute("stroke-width",o.weight),i.setAttribute("stroke-linecap",o.lineCap),i.setAttribute("stroke-linejoin",o.lineJoin),o.dashArray?i.setAttribute("stroke-dasharray",o.dashArray):i.removeAttribute("stroke-dasharray"),o.dashOffset?i.setAttribute("stroke-dashoffset",o.dashOffset):i.removeAttribute("stroke-dashoffset")):i.setAttribute("stroke","none"),o.fill?(i.setAttribute("fill",o.fillColor||o.color),i.setAttribute("fill-opacity",o.fillOpacity),i.setAttribute("fill-rule",o.fillRule||"evenodd")):i.setAttribute("fill","none"))},_updatePoly:function(t,i){this._setPath(t,P(t._parts,i))},_updateCircle:function(t){var i=t._point,o=Math.max(Math.round(t._radius),1),l=Math.max(Math.round(t._radiusY),1)||o,h="a"+o+","+l+" 0 1,0 ",p=t._empty()?"M0 0":"M"+(i.x-o)+","+i.y+h+o*2+",0 "+h+-o*2+",0 ";this._setPath(t,p)},_setPath:function(t,i){t._path.setAttribute("d",i)},_bringToFront:function(t){zn(t._path)},_bringToBack:function(t){Dn(t._path)}});et.vml&&_i.include(_h);function va(t){return et.svg||et.vml?new _i(t):null}Pt.include({getRenderer:function(t){var i=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return i||(i=this._renderer=this._createRenderer()),this.hasLayer(i)||this.addLayer(i),i},_getPaneRenderer:function(t){if(t==="overlayPane"||t===void 0)return!1;var i=this._paneRenderers[t];return i===void 0&&(i=this._createRenderer({pane:t}),this._paneRenderers[t]=i),i},_createRenderer:function(t){return this.options.preferCanvas&&ga(t)||va(t)}});var ya=Hn.extend({initialize:function(t,i){Hn.prototype.initialize.call(this,this._boundsToLatLngs(t),i)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=Et(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});function mh(t,i){return new ya(t,i)}_i.create=ls,_i.pointsToPath=P,Ke.geometryToLayer=es,Ke.coordsToLatLng=xo,Ke.coordsToLatLngs=ns,Ke.latLngToCoords=Po,Ke.latLngsToCoords=is,Ke.getFeature=Un,Ke.asFeature=ss,Pt.mergeOptions({boxZoom:!0});var wa=Ne.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){ct(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Nt(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){Ht(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||t.which!==1&&t.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),ri(),so(),this._startPoint=this._map.mouseEventToContainerPoint(t),ct(document,{contextmenu:vn,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=Tt("div","leaflet-zoom-box",this._container),ft(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var i=new ot(this._point,this._startPoint),o=i.getSize();qt(this._box,i.min),this._box.style.width=o.x+"px",this._box.style.height=o.y+"px"},_finish:function(){this._moved&&(Ht(this._box),Wt(this._container,"leaflet-crosshair")),ai(),oo(),Nt(document,{contextmenu:vn,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if(!(t.which!==1&&t.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(c(this._resetState,this),0);var i=new Bt(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(i).fire("boxzoomend",{boxZoomBounds:i})}},_onKeyDown:function(t){t.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Pt.addInitHook("addHandler","boxZoom",wa),Pt.mergeOptions({doubleClickZoom:!0});var ba=Ne.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var i=this._map,o=i.getZoom(),l=i.options.zoomDelta,h=t.originalEvent.shiftKey?o-l:o+l;i.options.doubleClickZoom==="center"?i.setZoom(h):i.setZoomAround(t.containerPoint,h)}});Pt.addInitHook("addHandler","doubleClickZoom",ba),Pt.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var xa=Ne.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new ln(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}ft(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){Wt(this._map._container,"leaflet-grab"),Wt(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var i=Et(this._map.options.maxBounds);this._offsetLimit=pt(this._map.latLngToContainerPoint(i.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(i.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var i=this._lastTime=+new Date,o=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(o),this._times.push(i),this._prunePositions(i)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),i=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=i.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,i){return t-(t-i)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var t=this._draggable._newPos.subtract(this._draggable._startPos),i=this._offsetLimit;t.xi.max.x&&(t.x=this._viscousLimit(t.x,i.max.x)),t.y>i.max.y&&(t.y=this._viscousLimit(t.y,i.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,i=Math.round(t/2),o=this._initialWorldOffset,l=this._draggable._newPos.x,h=(l-i+o)%t+i-o,p=(l+i+o)%t-i-o,y=Math.abs(h+o)0?p:-p))-i;this._delta=0,this._startTime=null,y&&(t.options.scrollWheelZoom==="center"?t.setZoom(i+y):t.setZoomAround(this._lastMousePos,i+y))}});Pt.addInitHook("addHandler","scrollWheelZoom",Ta);var gh=600;Pt.mergeOptions({tapHold:et.touchNative&&et.safari&&et.mobile,tapTolerance:15});var Sa=Ne.extend({addHooks:function(){ct(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Nt(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),t.touches.length===1){var i=t.touches[0];this._startPos=this._newPos=new q(i.clientX,i.clientY),this._holdTimeout=setTimeout(c(function(){this._cancel(),this._isTapValid()&&(ct(document,"touchend",Jt),ct(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",i))},this),gh),ct(document,"touchend touchcancel contextmenu",this._cancel,this),ct(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function t(){Nt(document,"touchend",Jt),Nt(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),Nt(document,"touchend touchcancel contextmenu",this._cancel,this),Nt(document,"touchmove",this._onMove,this)},_onMove:function(t){var i=t.touches[0];this._newPos=new q(i.clientX,i.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,i){var o=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:i.screenX,screenY:i.screenY,clientX:i.clientX,clientY:i.clientY});o._simulated=!0,i.target.dispatchEvent(o)}});Pt.addInitHook("addHandler","tapHold",Sa),Pt.mergeOptions({touchZoom:et.touch,bounceAtZoomLimits:!0});var La=Ne.extend({addHooks:function(){ft(this._map._container,"leaflet-touch-zoom"),ct(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){Wt(this._map._container,"leaflet-touch-zoom"),Nt(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var i=this._map;if(!(!t.touches||t.touches.length!==2||i._animatingZoom||this._zooming)){var o=i.mouseEventToContainerPoint(t.touches[0]),l=i.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=i.getSize()._divideBy(2),this._startLatLng=i.containerPointToLatLng(this._centerPoint),i.options.touchZoom!=="center"&&(this._pinchStartLatLng=i.containerPointToLatLng(o.add(l)._divideBy(2))),this._startDist=o.distanceTo(l),this._startZoom=i.getZoom(),this._moved=!1,this._zooming=!0,i._stop(),ct(document,"touchmove",this._onTouchMove,this),ct(document,"touchend touchcancel",this._onTouchEnd,this),Jt(t)}},_onTouchMove:function(t){if(!(!t.touches||t.touches.length!==2||!this._zooming)){var i=this._map,o=i.mouseEventToContainerPoint(t.touches[0]),l=i.mouseEventToContainerPoint(t.touches[1]),h=o.distanceTo(l)/this._startDist;if(this._zoom=i.getScaleZoom(h,this._startZoom),!i.options.bounceAtZoomLimits&&(this._zoomi.getMaxZoom()&&h>1)&&(this._zoom=i._limitZoom(this._zoom)),i.options.touchZoom==="center"){if(this._center=this._startLatLng,h===1)return}else{var p=o._add(l)._divideBy(2)._subtract(this._centerPoint);if(h===1&&p.x===0&&p.y===0)return;this._center=i.unproject(i.project(this._pinchStartLatLng,this._zoom).subtract(p),this._zoom)}this._moved||(i._moveStart(!0,!1),this._moved=!0),Rt(this._animRequest);var y=c(i._move,i,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=dt(y,this,!0),Jt(t)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,Rt(this._animRequest),Nt(document,"touchmove",this._onTouchMove,this),Nt(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});Pt.addInitHook("addHandler","touchZoom",La),Pt.BoxZoom=wa,Pt.DoubleClickZoom=ba,Pt.Drag=xa,Pt.Keyboard=Pa,Pt.ScrollWheelZoom=Ta,Pt.TapHold=Sa,Pt.TouchZoom=La,s.Bounds=ot,s.Browser=et,s.CRS=V,s.Canvas=ma,s.Circle=bo,s.CircleMarker=ts,s.Class=Lt,s.Control=Ce,s.DivIcon=da,s.DivOverlay=ze,s.DomEvent=Bc,s.DomUtil=Ic,s.Draggable=ln,s.Evented=bt,s.FeatureGroup=$e,s.GeoJSON=Ke,s.GridLayer=di,s.Handler=Ne,s.Icon=Zn,s.ImageOverlay=os,s.LatLng=xt,s.LatLngBounds=Bt,s.Layer=Oe,s.LayerGroup=Fn,s.LineUtil=Kc,s.Map=Pt,s.Marker=Qi,s.Mixin=Uc,s.Path=un,s.Point=q,s.PolyUtil=jc,s.Polygon=Hn,s.Polyline=qe,s.Popup=rs,s.PosAnimation=Gr,s.Projection=Gc,s.Rectangle=ya,s.Renderer=Ge,s.SVG=_i,s.SVGOverlay=fa,s.TileLayer=jn,s.Tooltip=as,s.Transformation=Ft,s.Util=_e,s.VideoOverlay=ha,s.bind=c,s.bounds=pt,s.canvas=ga,s.circle=ih,s.circleMarker=nh,s.control=ci,s.divIcon=fh,s.extend=a,s.featureGroup=Qc,s.geoJSON=ca,s.geoJson=rh,s.gridLayer=dh,s.icon=th,s.imageOverlay=ah,s.latLng=J,s.latLngBounds=Et,s.layerGroup=Yc,s.map=Nc,s.marker=eh,s.point=Q,s.polygon=oh,s.polyline=sh,s.popup=ch,s.rectangle=mh,s.setOptions=O,s.stamp=d,s.svg=va,s.svgOverlay=uh,s.tileLayer=pa,s.tooltip=hh,s.transformation=g,s.version=r,s.videoOverlay=lh;var vh=window.L;s.noConflict=function(){return window.L=vh,this},window.L=s}))})(xi,xi.exports)),xi.exports}var bm=wm();const xn=vm(bm),cc=(e,n)=>{const s=e.__vccOpts||e;for(const[r,a]of n)s[r]=a;return s},xm="https://webrd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}",Pm={__name:"PoiMap",emits:["marker-click","map-click"],setup(e,{expose:n,emit:s}){const r=It(null);let a=null,u=null,c=[],f={},d=null,m=null;const _=s,v=["1","2","3","4"],S=xn.divIcon({className:"",html:` @@ -38,4 +38,4 @@ ${U.businessArea?``:""} - `),wt.on("click",()=>{N(wt),_("marker-click",U)}),c.push(wt),U.poiId&&(f[U.poiId]=wt)})}function N(H){d&&d!==H&&d.setIcon(S),H.setIcon(I),d=H}function C(H){const U=parseFloat(H.latitude),st=parseFloat(H.longitude);if(isNaN(U)||isNaN(st))return;R(U,st,15);let rt=H.poiId?f[H.poiId]:null;if(!rt)for(const wt of c){const dt=wt.getLatLng();if(Math.abs(dt.lat-U)<.001&&Math.abs(dt.lng-st)<.001){rt=wt;break}}rt&&(N(rt),rt.openPopup())}function R(H,U,st){a&&a.setView([H,U],st||12)}function F(H,U,st){A(),a&&(m=xn.circle([H,U],{radius:st,color:"#1a73e8",fillColor:"#1a73e8",fillOpacity:.08,weight:2,dashArray:"6, 6"}).addTo(a))}function A(){m&&(a.removeLayer(m),m=null)}function Y(H){m&&m.setRadius(H)}return n({addMarkers:O,clearMarkers:D,focusMarker:C,drawRadiusCircle:F,clearRadiusCircle:A,updateRadiusCircle:Y,flyTo:R}),(H,U)=>(Dt(),Zt("div",{ref_key:"mapContainer",ref:r,class:"map-container"},null,512))}},Tm=cc(Pm,[["__scopeId","data-v-b321efd5"]]),Sm={class:"cascader-cols"},Lm=["onClick"],Em=["onClick"],Cm={key:0,class:"opt-arrow"},Om={key:0,class:"cascader-status"},Am={key:1,class:"cascader-status"},Mm={__name:"CascaderSelect",props:{modelValue:{type:Array,default:()=>[]},placeholder:{type:String,default:"全部"},treeData:{type:Array,default:()=>[]},lazyLoad:{type:Function,default:null}},emits:["update:modelValue","change"],setup(e,{emit:n}){const s=e,r=n,a=It(null),u=It(!1),c=It([]),f=It([[]]),d=It(0),m=It(-1),_=It({}),v=Ai(()=>c.value.map(A=>A.label).join(" / "));function S(){const A=[];let Y=s.treeData;for(let H=0;H<=c.value.length;H++)if(A.push(Y||[]),Hst.value===c.value[H].value);Y=U?U.children||[]:[]}f.value=A,d.value=A.length-1}function I(){const A=s.modelValue||[];if(c.value=[],A.length===0){S();return}let Y=s.treeData,H=!0;for(const U of A){const st=(Y||[]).find(rt=>rt.value===U);if(!st){H=!1;break}c.value.push(st),Y=st.children}H||(c.value=[]),S()}On(()=>s.modelValue,I,{deep:!0}),On(()=>s.treeData,()=>{u.value&&(m.value=-1,S())},{deep:!0}),On(u,async A=>{var Y;if(A){I(),await vr();const H=(Y=a.value)==null?void 0:Y.getBoundingClientRect();H&&(_.value={top:H.bottom+"px",left:H.left+"px",minWidth:Math.max(H.width,200)+"px"})}});function D(){u.value=!u.value}function O(){u.value=!1,m.value=-1}async function N(A,Y){if(c.value=c.value.slice(0,Y),c.value.push(A),r("update:modelValue",c.value.map(H=>H.value)),A.children&&A.children.length>0){S();return}if(s.lazyLoad&&A.loadable!==!1){m.value=Y+1,S();try{const H=await s.lazyLoad(A,c.value.map(U=>U.value));A.children=H||[]}catch{A.children=[]}if(m.value=-1,!u.value)return;A.children.length>0?S():(R(),O());return}R(),O()}function C(A){c.value=c.value.slice(0,A),R(),O()}function R(){const A=c.value.map(H=>H.value),Y=c.value.map(H=>H.label);r("update:modelValue",A),r("change",{values:A,labels:Y})}function F(A){u.value&&(a.value&&a.value.contains(A.target)||A.target.closest(".cascader-panel")||O())}return br(()=>{document.addEventListener("mousedown",F,!0),I()}),Ws(()=>{document.removeEventListener("mousedown",F,!0)}),(A,Y)=>(Dt(),Zt("div",{class:"cascader",ref_key:"wrapper",ref:a},[yt("div",{class:je(["cascader-trigger",{open:u.value}]),onClick:D},[yt("span",{class:je(["cascader-label",{placeholder:!v.value}])},Xt(v.value||e.placeholder),3),Y[0]||(Y[0]=yt("span",{class:"cascader-arrow"},"▾",-1))],2),(Dt(),Mu(Ef,{to:"body"},[u.value?(Dt(),Zt("div",{key:0,class:"cascader-panel",style:Zs(_.value)},[yt("div",Sm,[(Dt(!0),Zt(he,null,Ci(f.value,(H,U)=>{var st;return Dt(),Zt("div",{key:U,class:je(["cascader-col",{active:U===d.value}])},[yt("div",{class:"cascader-opt all",onClick:rt=>C(U)}," 全部"+Xt(U===0?"":" "+(((st=c.value[U-1])==null?void 0:st.label)||"")),9,Lm),(Dt(!0),Zt(he,null,Ci(H,rt=>(Dt(),Zt("div",{key:rt.value,class:je(["cascader-opt",{selected:c.value[U]&&c.value[U].value===rt.value,hasChildren:rt.children}]),onClick:wt=>N(rt,U)},[yt("span",null,Xt(rt.label),1),rt.children?(Dt(),Zt("span",Cm,"›")):fn("",!0)],10,Em))),128)),m.value===U?(Dt(),Zt("div",Om,"加载中...")):fn("",!0),!m.value&&H.length===0?(Dt(),Zt("div",Am,"暂无数据")):fn("",!0)],2)}),128))])],4)):fn("",!0)]))],512))}},Ml=cc(Mm,[["__scopeId","data-v-7b5fbe50"]]),Rm={class:"app"},Im={class:"top-bar"},km={class:"search-form"},Bm={class:"input-wrap"},Nm={key:0,class:"suggest-dropdown"},zm=["onMousedown","onMouseenter"],Dm={class:"suggest-name"},Fm={key:0,class:"suggest-city"},Zm=["value"],Hm=["disabled"],Um={key:0,class:"center-badge"},jm={key:0,class:"panel-loading"},Wm={key:1,class:"panel-error"},Vm={key:2,class:"panel-empty"},$m={class:"panel-header"},qm={class:"panel-page"},Km={class:"panel-list"},Gm=["onClick"],Jm={class:"card-name"},Xm={class:"card-meta"},Ym={class:"card-tag"},Qm={class:"card-area"},tg={class:"card-phone"},eg={class:"card-addr"},ng={class:"panel-footer"},ig=["disabled"],sg=["disabled"],og={__name:"App",setup(e){const n=It(null),s=It(""),r=It(1e3),a=It(0),u=It(0),c=It([]),f=It(0),d=It(!1),m=It(!1),_=It(""),v=It(1),S=It(1),I=Ai(()=>c.value.length>=20),D=It(null),O=It([]),N=It(-1);let C=null;const R=It([]),F=It([]),A=It([]),Y=It([]),H=Ai(()=>(A.value||[]).map(V=>({value:V.code,label:V.name,children:(V.children||[]).map($=>({value:$.code,label:$.name}))}))),U=Ai(()=>{const V=Y.value;return V.length===0?"":V[V.length-1]}),st=["北京","天津","上海","重庆","广东","浙江","江苏","福建","山东","四川","湖北","湖南","河南","河北","安徽","江西","陕西","山西","辽宁","吉林","黑龙江","广西","内蒙古","西藏","新疆","宁夏","青海","甘肃","贵州","云南","海南"],rt={北京:["北京"],天津:["天津"],上海:["上海"],重庆:["重庆"],广东:["广州","深圳","东莞","佛山","珠海","中山","惠州","汕头","江门","湛江","肇庆","茂名","揭阳","梅州","清远","韶关","阳江","河源","汕尾","潮州","云浮"],浙江:["杭州","宁波","温州","绍兴","嘉兴","金华","台州","湖州","衢州","舟山","丽水"],江苏:["南京","苏州","无锡","常州","南通","徐州","扬州","盐城","淮安","连云港","镇江","泰州","宿迁"],福建:["福州","厦门","泉州","漳州","莆田","宁德","龙岩","三明","南平"],山东:["济南","青岛","烟台","潍坊","临沂","淄博","济宁","威海","泰安","德州","聊城","东营","枣庄","日照","滨州","菏泽"],四川:["成都","绵阳","德阳","宜宾","南充","泸州","自贡","乐山","眉山","达州","内江","遂宁","广安","攀枝花","资阳","广元","雅安","巴中"],湖北:["武汉","襄阳","宜昌","荆州","黄冈","十堰","孝感","荆门","鄂州","黄石","咸宁","随州"],湖南:["长沙","株洲","湘潭","衡阳","岳阳","常德","益阳","邵阳","郴州","怀化","永州","娄底","湘西"],河南:["郑州","洛阳","南阳","许昌","周口","新乡","安阳","开封","商丘","信阳","驻马店","平顶山","焦作","濮阳","三门峡","漯河","鹤壁"],河北:["石家庄","唐山","保定","邯郸","沧州","廊坊","秦皇岛","张家口","衡水","邢台","承德"],安徽:["合肥","芜湖","安庆","阜阳","滁州","马鞍山","蚌埠","宿州","六安","宣城","铜陵","池州","淮南","淮北","黄山"],江西:["南昌","赣州","九江","宜春","吉安","上饶","抚州","萍乡","景德镇","新余","鹰潭"],陕西:["西安","咸阳","宝鸡","渭南","汉中","延安","榆林","安康","商洛","铜川"],山西:["太原","大同","长治","临汾","晋中","运城","晋城","吕梁","忻州","阳泉","朔州"],辽宁:["沈阳","大连","鞍山","抚顺","锦州","营口","盘锦","丹东","本溪","辽阳","朝阳","阜新","葫芦岛","铁岭"],吉林:["长春","吉林","延边","四平","通化","松原","白城","辽源","白山"],黑龙江:["哈尔滨","大庆","齐齐哈尔","牡丹江","佳木斯","绥化","鸡西","鹤岗","双鸭山","伊春","七台河","黑河","大兴安岭"],广西:["南宁","桂林","柳州","北海","玉林","百色","梧州","贵港","钦州","河池","防城港","崇左","来宾","贺州"],内蒙古:["呼和浩特","包头","赤峰","鄂尔多斯","通辽","呼伦贝尔","乌兰察布","巴彦淖尔","兴安","锡林郭勒","阿拉善"],西藏:["拉萨","日喀则","昌都","林芝","山南","那曲","阿里"],新疆:["乌鲁木齐","克拉玛依","吐鲁番","哈密","昌吉","伊犁","喀什","阿克苏","和田","塔城","阿勒泰","博尔塔拉","巴音郭楞","克孜勒苏"],宁夏:["银川","石嘴山","吴忠","固原","中卫"],青海:["西宁","海东","海西","海南","海北","黄南","玉树","果洛"],甘肃:["兰州","天水","白银","金昌","嘉峪关","武威","张掖","平凉","酒泉","庆阳","定西","陇南","临夏","甘南"],贵州:["贵阳","遵义","六盘水","安顺","毕节","铜仁","黔东南","黔南","黔西南"],云南:["昆明","大理","丽江","曲靖","玉溪","红河","楚雄","普洱","昭通","文山","西双版纳","保山","德宏","临沧","怒江","迪庆"],海南:["海口","三亚","儋州","三沙","琼海","文昌","万宁","陵水","五指山"]},wt=[{value:500,label:"500m"},{value:1e3,label:"1km"},{value:2e3,label:"2km"},{value:3e3,label:"3km"},{value:5e3,label:"5km"}],dt={北京:[39.9042,116.4074],天津:[39.1252,117.1908],上海:[31.2304,121.4737],重庆:[29.4316,106.9123],广州:[23.1291,113.2644],深圳:[22.5431,114.0579],东莞:[23.0208,113.7518],佛山:[23.0219,113.1219],珠海:[22.271,113.5767],中山:[22.515,113.3926],惠州:[23.111,114.4162],汕头:[23.3545,116.6822],江门:[22.5786,113.0945],湛江:[21.2713,110.3594],肇庆:[23.0469,112.4653],茂名:[21.663,110.9252],揭阳:[23.5499,116.3727],梅州:[24.2884,116.1176],清远:[23.681,113.056],韶关:[24.8104,113.5975],阳江:[21.8583,111.9822],河源:[23.7437,114.7009],汕尾:[22.787,115.3753],潮州:[23.6564,116.63],云浮:[22.915,112.0445],杭州:[30.2741,120.1551],宁波:[29.8683,121.544],温州:[28,120.6994],绍兴:[30.03,120.58],嘉兴:[30.7711,120.7551],金华:[29.0792,119.6474],台州:[28.6562,121.4208],湖州:[30.8931,120.0875],衢州:[28.9359,118.8742],舟山:[29.9855,122.2076],丽水:[28.468,119.9228],南京:[32.0603,118.7969],苏州:[31.299,120.5853],无锡:[31.491,120.3119],常州:[31.8107,119.9737],南通:[31.9798,120.8938],徐州:[34.2044,117.2858],扬州:[32.3937,119.4126],盐城:[33.3876,120.1633],淮安:[33.5516,119.1131],连云港:[34.5969,119.2215],镇江:[32.1898,119.4251],泰州:[32.4555,119.9227],宿迁:[33.963,118.2755],福州:[26.0745,119.2965],厦门:[24.4798,118.0895],泉州:[24.8741,118.6756],漳州:[24.5134,117.647],莆田:[25.454,119.0077],宁德:[26.6657,119.5479],龙岩:[25.0751,117.017],三明:[26.2634,117.6392],南平:[26.6417,118.1779],济南:[36.6512,116.9972],青岛:[36.0671,120.3826],烟台:[37.4645,121.4479],潍坊:[36.7068,119.1618],临沂:[35.1046,118.3564],淄博:[36.8135,118.055],济宁:[35.4148,116.5872],威海:[37.5133,122.121],泰安:[36.1994,117.0875],德州:[37.4363,116.3594],聊城:[36.4568,115.9854],东营:[37.4341,118.6746],枣庄:[34.8105,117.3211],日照:[35.4204,119.5272],滨州:[37.3819,117.9724],菏泽:[35.2337,115.4812],成都:[30.5728,104.0668],绵阳:[31.4675,104.6791],德阳:[31.1268,104.398],宜宾:[28.7519,104.6417],南充:[30.7991,106.0827],泸州:[28.8717,105.443],自贡:[29.339,104.7784],乐山:[29.5527,103.7654],眉山:[30.0595,103.8265],达州:[31.2091,107.4677],内江:[29.5802,105.0584],遂宁:[30.5329,105.5929],广安:[30.456,106.6332],攀枝花:[26.5823,101.7186],资阳:[30.1286,104.6276],广元:[32.4355,105.845],雅安:[29.9765,103.0094],巴中:[31.8674,106.7477],武汉:[30.5928,114.3055],襄阳:[32.009,112.1226],宜昌:[30.692,111.2864],荆州:[30.3345,112.2407],黄冈:[30.4544,114.8724],十堰:[32.6319,110.7939],孝感:[30.9178,113.9168],荆门:[31.0354,112.1992],鄂州:[30.3908,114.895],黄石:[30.201,115.0769],咸宁:[29.8327,114.3222],随州:[31.6902,113.3826],长沙:[28.2282,112.9388],株洲:[27.8278,113.1339],湘潭:[27.8298,112.9442],衡阳:[26.8932,112.572],岳阳:[29.3572,113.1288],常德:[29.0316,111.6985],益阳:[28.5889,112.3551],邵阳:[27.2389,111.4673],郴州:[25.7705,113.0145],怀化:[27.5697,109.9985],永州:[26.4207,111.6132],娄底:[27.7,112.0004],湘西:[28.3118,109.7394],郑州:[34.747,113.6247],洛阳:[34.6202,112.4545],南阳:[32.9908,112.5286],许昌:[34.0355,113.8523],周口:[33.626,114.6473],新乡:[35.3036,113.9269],安阳:[36.0969,114.3931],开封:[34.7973,114.3073],商丘:[34.414,115.6554],信阳:[32.1471,114.0932],驻马店:[32.9815,114.022],平顶山:[33.7662,113.1924],焦作:[35.2159,113.2418],濮阳:[35.7624,115.0297],三门峡:[34.7731,111.1999],漯河:[33.5814,114.0165],鹤壁:[35.8995,114.2975],石家庄:[38.0423,114.5145],唐山:[39.6303,118.1824],保定:[38.8739,115.4646],邯郸:[36.6256,114.5391],沧州:[38.3044,116.8387],廊坊:[39.5379,116.6838],秦皇岛:[39.8891,119.5997],张家口:[40.768,114.8862],衡水:[37.7389,115.6707],邢台:[37.0736,114.5047],承德:[40.9495,117.9593],合肥:[31.8206,117.2272],芜湖:[31.3525,118.4329],安庆:[30.5429,117.0635],阜阳:[32.8901,115.8141],滁州:[32.3019,118.3071],马鞍山:[31.6714,118.5071],蚌埠:[32.9188,117.3894],宿州:[33.6476,116.9639],六安:[31.7331,116.5199],宣城:[30.9404,118.7587],铜陵:[30.8789,117.8107],池州:[30.6648,117.4916],淮南:[32.6261,116.9997],淮北:[33.9653,116.7985],黄山:[29.7153,118.337],南昌:[28.6829,115.8582],赣州:[25.831,114.9356],九江:[29.6619,115.9973],宜春:[27.8143,114.4161],吉安:[27.113,114.9934],上饶:[28.4546,117.9435],抚州:[27.9479,116.3581],萍乡:[27.6229,113.8548],景德镇:[29.2686,117.1784],新余:[27.8178,114.9171],鹰潭:[28.2588,117.0692],西安:[34.3416,108.9398],咸阳:[34.3293,108.7092],宝鸡:[34.3621,107.2373],渭南:[34.5205,109.5103],汉中:[33.0677,107.0236],延安:[36.5854,109.4888],榆林:[38.2855,109.7345],安康:[32.6849,109.0291],商洛:[33.8683,109.9202],铜川:[34.897,108.9451],太原:[37.8706,112.5499],大同:[40.0769,113.3001],长治:[36.1954,113.1164],临汾:[36.088,111.5193],晋中:[37.6875,112.7528],运城:[35.0265,111.007],晋城:[35.4905,112.8513],吕梁:[37.5193,111.1446],忻州:[38.417,112.734],阳泉:[37.8568,113.5803],朔州:[39.3315,112.4327],沈阳:[41.8057,123.4315],大连:[38.914,121.6148],鞍山:[41.1078,122.9945],抚顺:[41.8796,123.9572],锦州:[41.0952,121.127],营口:[40.6241,122.2351],盘锦:[41.1198,122.0708],丹东:[40.0024,124.3567],本溪:[41.487,123.7716],辽阳:[41.2691,123.2378],朝阳:[41.5737,120.4508],阜新:[42.021,121.6703],葫芦岛:[40.7109,120.8372],铁岭:[42.286,123.8426],长春:[43.896,125.3265],吉林:[43.8379,126.5493],延边:[42.8907,129.5094],四平:[43.1639,124.3504],通化:[41.7278,125.9395],松原:[45.141,124.8255],白城:[45.6193,122.8389],辽源:[42.8877,125.1437],白山:[41.9406,126.4244],哈尔滨:[45.8038,126.535],大庆:[46.5967,125.1041],齐齐哈尔:[47.3543,123.918],牡丹江:[44.5528,129.6186],佳木斯:[46.7998,130.3194],绥化:[46.6368,126.9692],鸡西:[45.2953,130.9661],鹤岗:[47.3499,130.2978],双鸭山:[46.6467,131.1585],伊春:[47.7277,128.8404],七台河:[45.7708,131.0153],黑河:[50.2454,127.5284],大兴安岭:[50.5506,126.205],南宁:[22.817,108.3665],桂林:[25.2344,110.1798],柳州:[24.3249,109.428],北海:[21.4679,109.1197],玉林:[22.6529,110.1411],百色:[23.902,106.6184],梧州:[23.4769,111.2786],贵港:[23.1131,109.598],钦州:[21.9799,108.6541],河池:[24.6929,108.0854],防城港:[21.6869,108.3783],崇左:[22.3795,107.3652],来宾:[23.7332,109.2213],贺州:[24.4035,111.5667],呼和浩特:[40.8422,111.7498],包头:[40.6571,109.8402],赤峰:[42.2576,118.8888],鄂尔多斯:[39.6083,109.7809],通辽:[43.653,122.2445],呼伦贝尔:[49.2,119.76],乌兰察布:[40.9935,113.131],巴彦淖尔:[40.7274,107.3862],兴安:[46.082,122.038],锡林郭勒:[43.9335,116.048],阿拉善:[38.8483,105.6878],拉萨:[29.65,91.1],日喀则:[29.267,88.881],昌都:[31.14,97.17],林芝:[29.65,94.36],山南:[29.23,91.77],那曲:[31.47,92.06],阿里:[30.4,81.14],乌鲁木齐:[43.8256,87.6168],克拉玛依:[45.575,84.882],吐鲁番:[42.94,89.19],哈密:[42.82,93.51],昌吉:[44.013,87.305],伊犁:[43.92,81.32],喀什:[39.47,75.99],阿克苏:[41.17,80.26],和田:[37.11,79.92],塔城:[46.75,82.98],阿勒泰:[47.87,88.14],博尔塔拉:[44.9,82.07],巴音郭楞:[41.77,86.15],克孜勒苏:[39.71,76.17],银川:[38.471,106.259],石嘴山:[38.986,106.385],吴忠:[37.999,106.201],固原:[36.017,106.286],中卫:[37.517,105.196],西宁:[36.623,101.78],海东:[36.502,102.104],海西:[37.373,97.371],海南:[36.28,100.62],海北:[36.96,100.9],黄南:[35.52,102.02],玉树:[33,97.01],果洛:[34.48,100.24],兰州:[36.0611,103.8343],天水:[34.5811,105.725],白银:[36.5447,104.1382],金昌:[38.521,102.188],嘉峪关:[39.773,98.29],武威:[37.9277,102.6379],张掖:[38.9349,100.4599],平凉:[35.5434,106.6682],酒泉:[39.7368,98.494],庆阳:[35.71,107.644],定西:[35.58,104.625],陇南:[33.37,104.92],临夏:[35.6,103.21],甘南:[34.99,102.91],贵阳:[26.647,106.6302],遵义:[27.7254,106.927],六盘水:[26.5927,104.83],安顺:[26.2537,105.9462],毕节:[27.302,105.29],铜仁:[27.73,109.18],黔东南:[26.58,107.97],黔南:[26.26,107.52],黔西南:[25.09,104.9],昆明:[25.0389,102.7183],大理:[25.6065,100.228],丽江:[26.872,100.23],曲靖:[25.49,103.8],玉溪:[24.352,102.547],红河:[23.37,103.38],楚雄:[25.04,101.54],普洱:[22.83,100.97],昭通:[27.34,103.72],文山:[23.38,104.24],西双版纳:[22.01,100.8],保山:[25.12,99.17],德宏:[24.44,98.59],临沧:[23.89,100.09],怒江:[25.85,98.86],迪庆:[27.82,99.71],海口:[20.044,110.35],三亚:[18.254,109.502],儋州:[19.521,109.581],三沙:[16.83,112.34],琼海:[19.259,110.466],文昌:[19.544,110.798],万宁:[18.797,110.389],陵水:[18.506,110.037],五指山:[18.775,109.517]},Rt={北京:[39.9042,116.4074],天津:[39.1252,117.1908],上海:[31.2304,121.4737],重庆:[29.4316,106.9123],广东:[23.1291,113.2644],浙江:[30.2741,120.1551],江苏:[32.0603,118.7969],福建:[26.0745,119.2965],山东:[36.6512,116.9972],四川:[30.5728,104.0668],湖北:[30.5928,114.3055],湖南:[28.2282,112.9388],河南:[34.747,113.6247],河北:[38.0423,114.5145],安徽:[31.8206,117.2272],江西:[28.6829,115.8582],陕西:[34.3416,108.9398],山西:[37.8706,112.5499],辽宁:[41.8057,123.4315],吉林:[43.896,125.3265],黑龙江:[45.8038,126.535],广西:[22.817,108.3665],内蒙古:[40.8422,111.7498],西藏:[29.65,91.1],新疆:[43.8256,87.6168],宁夏:[38.471,106.259],青海:[36.623,101.78],甘肃:[36.0611,103.8343],贵州:[26.647,106.6302],云南:[25.0389,102.7183],海南:[20.044,110.35]};function _e(){F.value=st.map(V=>({value:V,label:V,children:(rt[V]||[]).map($=>({value:$,label:$}))}))}async function Lt(V,$){if($.length!==2)return[];try{return(await gm($[1])||[]).map(_t=>({value:_t.name,label:_t.name,latitude:_t.latitude,longitude:_t.longitude}))}catch{return[]}}function Ee(V){var nt,_t;const $=n.value;if(!(!$||V.length===0)){if(a.value=0,u.value=0,$.clearRadiusCircle(),V.length===1){const Ft=Rt[V[0]];Ft&&$.flyTo(Ft[0],Ft[1],11)}else if(V.length===2){const Ft=dt[V[1]];Ft&&$.flyTo(Ft[0],Ft[1],12)}else if(V.length===3){const Ft=F.value.find(E=>E.value===V[0]),g=(nt=Ft==null?void 0:Ft.children)==null?void 0:nt.find(E=>E.value===V[1]),w=(_t=g==null?void 0:g.children)==null?void 0:_t.find(E=>E.value===V[2]);w&&w.latitude&&w.longitude&&$.flyTo(parseFloat(w.latitude),parseFloat(w.longitude),13)}}}On(R,Ee);function gt(V){if(!V.trim()){O.value=[];return}_m(V,R.value[1]||"").then($=>{O.value=$||[],N.value=-1}).catch(()=>{O.value=[],N.value=-1})}function bt(){clearTimeout(C);const V=s.value.trim();if(!V){O.value=[];return}C=setTimeout(()=>gt(V),250)}function q(){O.value=[],N.value=-1}function re(){setTimeout(q,200)}function Q(V){const $=O.value.length;$!==0&&(N.value=(N.value+V+$)%$)}function ot(V){var $,nt;q(),s.value=V.name,V.latitude&&V.longitude&&(a.value=parseFloat(V.latitude),u.value=parseFloat(V.longitude),($=n.value)==null||$.setCenter(a.value,u.value,16),(nt=n.value)==null||nt.clearRadiusCircle()),pt()}async function pt(){var V,$,nt;if(!d.value){d.value=!0,_.value="",m.value=!0;try{const _t={keywords:s.value.trim(),city:R.value[1]||"",page:v.value,longitude:u.value,latitude:a.value,radius:r.value,types:U.value},Ft=await pm(_t.keywords,_t.city,_t.page,_t.longitude,_t.latitude,_t.radius,_t.types);c.value=Ft.list||[],f.value=Ft.total||0,S.value=Math.max(1,Math.ceil(f.value/20)),D.value=null,(V=n.value)==null||V.clearMarkers(),($=n.value)==null||$.addMarkers(c.value),_t.latitude&&_t.longitude&&((nt=n.value)==null||nt.drawRadiusCircle(_t.latitude,_t.longitude,_t.radius))}catch{_.value="搜索失败,请稍后重试",c.value=[],f.value=0}finally{d.value=!1}}}function Bt(V){var $;D.value=V,V.latitude&&V.longitude&&(($=n.value)==null||$.flyTo(parseFloat(V.latitude),parseFloat(V.longitude),16))}function Et(V){D.value=V}function xt({lat:V,lng:$}){var nt;a.value=V,u.value=$,R.value=[],(nt=n.value)==null||nt.drawRadiusCircle(V,$,r.value)}function J(){var V;a.value=0,u.value=0,(V=n.value)==null||V.clearRadiusCircle()}return _e(),mm().then(V=>{A.value=V||[]}).catch(()=>{}),(V,$)=>(Dt(),Zt("div",Rm,[Se(Tm,{ref_key:"mapRef",ref:n,onMarkerClick:Et,onMapClick:xt},null,512),yt("div",Im,[yt("div",km,[yt("div",Bm,[Ba(yt("input",{"onUpdate:modelValue":$[0]||($[0]=nt=>s.value=nt),class:"input",placeholder:"关键词(选填,如:火锅店)",onInput:bt,onCompositionend:bt,onKeydown:[$[1]||($[1]=ps(nt=>{pt(),q()},["enter"])),$[2]||($[2]=ps(zo(nt=>Q(1),["prevent"]),["down"])),$[3]||($[3]=ps(zo(nt=>Q(-1),["prevent"]),["up"])),ps(q,["esc"])],onBlur:re,autocomplete:"off"},null,544),[[Kd,s.value]])]),O.value.length>0?(Dt(),Zt("ul",Nm,[(Dt(!0),Zt(he,null,Ci(O.value,(nt,_t)=>(Dt(),Zt("li",{key:nt.poiId||_t,class:je(["suggest-item",{active:_t===N.value}]),onMousedown:zo(Ft=>ot(nt),["prevent"]),onMouseenter:Ft=>N.value=_t},[yt("span",Dm,Xt(nt.name),1),nt.city?(Dt(),Zt("span",Fm,Xt(nt.city),1)):fn("",!0)],42,zm))),128))])):fn("",!0),Se(Ml,{modelValue:R.value,"onUpdate:modelValue":$[4]||($[4]=nt=>R.value=nt),treeData:F.value,placeholder:"全部地区",lazyLoad:Lt},null,8,["modelValue","treeData"]),Se(Ml,{modelValue:Y.value,"onUpdate:modelValue":$[5]||($[5]=nt=>Y.value=nt),treeData:H.value,placeholder:"全部行业"},null,8,["modelValue","treeData"]),Ba(yt("select",{"onUpdate:modelValue":$[6]||($[6]=nt=>r.value=nt),class:"select radius-select"},[(Dt(),Zt(he,null,Ci(wt,nt=>yt("option",{key:nt.value,value:nt.value},Xt(nt.label),9,Zm)),64))],512),[[Gd,r.value]]),yt("button",{class:"btn",disabled:d.value,onClick:pt},Xt(d.value?"搜索中...":"搜索"),9,Hm)]),a.value||u.value?(Dt(),Zt("div",Um,[yt("span",null,"中心点:"+Xt(u.value.toFixed(4))+", "+Xt(a.value.toFixed(4)),1),yt("button",{class:"clear-center",onClick:J},"×")])):fn("",!0)]),m.value?(Dt(),Zt("div",{key:0,class:je(["side-panel",{"has-results":c.value.length>0}])},[d.value?(Dt(),Zt("div",jm,[...$[9]||($[9]=[yt("div",{class:"spinner"},null,-1),yt("span",null,"正在查询...",-1)])])):_.value?(Dt(),Zt("div",Wm,Xt(_.value),1)):c.value.length===0?(Dt(),Zt("div",Vm,[...$[10]||($[10]=[ku(" 未找到相关商户",-1),yt("br",null,null,-1),yt("small",null,"请尝试其他关键词",-1)])])):(Dt(),Zt(he,{key:3},[yt("div",$m,[$[11]||($[11]=yt("span",{class:"panel-title"},"搜索结果",-1)),yt("span",qm,"第 "+Xt(v.value)+" 页",1)]),yt("div",Km,[(Dt(!0),Zt(he,null,Ci(c.value,nt=>(Dt(),Zt("div",{key:nt.poiId,class:je(["result-card",{active:D.value&&D.value.poiId===nt.poiId}]),onClick:_t=>Bt(nt)},[yt("div",Jm,Xt(nt.name),1),yt("div",Xm,[yt("span",Ym,Xt(nt.category),1)]),yt("div",Qm,Xt([nt.province,nt.city,nt.district].filter(Boolean).join(" ")),1),yt("div",tg,Xt(nt.phone||"暂无电话"),1),yt("div",eg,Xt(nt.address),1)],10,Gm))),128))]),yt("div",ng,[yt("button",{class:"page-btn",disabled:v.value<=1,onClick:$[7]||($[7]=nt=>{v.value--,pt()})},"上一页",8,ig),yt("button",{class:"page-btn",disabled:!I.value,onClick:$[8]||($[8]=nt=>{v.value++,pt()})},"下一页",8,sg)])],64))],2)):fn("",!0),$[12]||($[12]=yt("div",{class:"hint-bar"},[yt("span",null,"点击地图设置搜索中心点")],-1))]))}};ep(og).mount("#app"); + `),wt.on("click",()=>{N(wt),_("marker-click",U)}),c.push(wt),U.poiId&&(f[U.poiId]=wt)})}function N(H){d&&d!==H&&d.setIcon(S),H.setIcon(I),d=H}function C(H){const U=parseFloat(H.latitude),st=parseFloat(H.longitude);if(isNaN(U)||isNaN(st))return;R(U,st,15);let rt=H.poiId?f[H.poiId]:null;if(!rt)for(const wt of c){const dt=wt.getLatLng();if(Math.abs(dt.lat-U)<.001&&Math.abs(dt.lng-st)<.001){rt=wt;break}}rt&&(N(rt),rt.openPopup())}function R(H,U,st){a&&a.setView([H,U],st||12)}function F(H,U,st){A(),a&&(m=xn.circle([H,U],{radius:st,color:"#1a73e8",fillColor:"#1a73e8",fillOpacity:.08,weight:2,dashArray:"6, 6"}).addTo(a))}function A(){m&&(a.removeLayer(m),m=null)}function Y(H){m&&m.setRadius(H)}return n({addMarkers:O,clearMarkers:D,focusMarker:C,drawRadiusCircle:F,clearRadiusCircle:A,updateRadiusCircle:Y,flyTo:R}),(H,U)=>(Dt(),Zt("div",{ref_key:"mapContainer",ref:r,class:"map-container"},null,512))}},Tm=cc(Pm,[["__scopeId","data-v-b321efd5"]]),Sm={class:"cascader-cols"},Lm=["onClick"],Em=["onClick"],Cm={key:0,class:"opt-arrow"},Om={key:0,class:"cascader-status"},Am={key:1,class:"cascader-status"},Mm={__name:"CascaderSelect",props:{modelValue:{type:Array,default:()=>[]},placeholder:{type:String,default:"全部"},treeData:{type:Array,default:()=>[]},lazyLoad:{type:Function,default:null}},emits:["update:modelValue","change"],setup(e,{emit:n}){const s=e,r=n,a=It(null),u=It(!1),c=It([]),f=It([[]]),d=It(0),m=It(-1),_=It({}),v=Ai(()=>c.value.map(A=>A.label).join(" / "));function S(){const A=[];let Y=s.treeData;for(let H=0;H<=c.value.length;H++)if(A.push(Y||[]),Hst.value===c.value[H].value);Y=U?U.children||[]:[]}f.value=A,d.value=A.length-1}function I(){const A=s.modelValue||[];if(c.value=[],A.length===0){S();return}let Y=s.treeData,H=!0;for(const U of A){const st=(Y||[]).find(rt=>rt.value===U);if(!st){H=!1;break}c.value.push(st),Y=st.children}H||(c.value=[]),S()}On(()=>s.modelValue,I,{deep:!0}),On(()=>s.treeData,()=>{u.value&&(m.value=-1,S())},{deep:!0}),On(u,async A=>{var Y;if(A){I(),await vr();const H=(Y=a.value)==null?void 0:Y.getBoundingClientRect();H&&(_.value={top:H.bottom+"px",left:H.left+"px",minWidth:Math.max(H.width,200)+"px"})}});function D(){u.value=!u.value}function O(){u.value=!1,m.value=-1}async function N(A,Y){if(c.value=c.value.slice(0,Y),c.value.push(A),r("update:modelValue",c.value.map(H=>H.value)),A.children&&A.children.length>0){S();return}if(s.lazyLoad&&A.loadable!==!1){m.value=Y+1,S();try{const H=await s.lazyLoad(A,c.value.map(U=>U.value));A.children=H||[]}catch{A.children=[]}if(m.value=-1,!u.value)return;A.children.length>0?S():(R(),O());return}R(),O()}function C(A){c.value=c.value.slice(0,A),R(),O()}function R(){const A=c.value.map(H=>H.value),Y=c.value.map(H=>H.label);r("update:modelValue",A),r("change",{values:A,labels:Y})}function F(A){u.value&&(a.value&&a.value.contains(A.target)||A.target.closest(".cascader-panel")||O())}return br(()=>{document.addEventListener("mousedown",F,!0),I()}),Ws(()=>{document.removeEventListener("mousedown",F,!0)}),(A,Y)=>(Dt(),Zt("div",{class:"cascader",ref_key:"wrapper",ref:a},[yt("div",{class:je(["cascader-trigger",{open:u.value}]),onClick:D},[yt("span",{class:je(["cascader-label",{placeholder:!v.value}])},Xt(v.value||e.placeholder),3),Y[0]||(Y[0]=yt("span",{class:"cascader-arrow"},"▾",-1))],2),(Dt(),Mu(Ef,{to:"body"},[u.value?(Dt(),Zt("div",{key:0,class:"cascader-panel",style:Zs(_.value)},[yt("div",Sm,[(Dt(!0),Zt(he,null,Ci(f.value,(H,U)=>{var st;return Dt(),Zt("div",{key:U,class:je(["cascader-col",{active:U===d.value}])},[yt("div",{class:"cascader-opt all",onClick:rt=>C(U)}," 全部"+Xt(U===0?"":" "+(((st=c.value[U-1])==null?void 0:st.label)||"")),9,Lm),(Dt(!0),Zt(he,null,Ci(H,rt=>(Dt(),Zt("div",{key:rt.value,class:je(["cascader-opt",{selected:c.value[U]&&c.value[U].value===rt.value,hasChildren:rt.children}]),onClick:wt=>N(rt,U)},[yt("span",null,Xt(rt.label),1),rt.children?(Dt(),Zt("span",Cm,"›")):fn("",!0)],10,Em))),128)),m.value===U?(Dt(),Zt("div",Om,"加载中...")):fn("",!0),!m.value&&H.length===0?(Dt(),Zt("div",Am,"暂无数据")):fn("",!0)],2)}),128))])],4)):fn("",!0)]))],512))}},Ml=cc(Mm,[["__scopeId","data-v-7b5fbe50"]]),Rm={class:"app"},Im={class:"top-bar"},km={class:"search-form"},Bm={class:"input-wrap"},Nm={key:0,class:"suggest-dropdown"},zm=["onMousedown","onMouseenter"],Dm={class:"suggest-name"},Fm={key:0,class:"suggest-city"},Zm=["value"],Hm=["disabled"],Um={key:0,class:"center-badge"},jm={key:0,class:"panel-loading"},Wm={key:1,class:"panel-error"},Vm={key:2,class:"panel-empty"},$m={class:"panel-header"},qm={class:"panel-page"},Km={class:"panel-list"},Gm=["onClick"],Jm={class:"card-name"},Xm={class:"card-meta"},Ym={class:"card-tag"},Qm={class:"card-area"},tg={class:"card-phone"},eg={class:"card-addr"},ng={class:"panel-footer"},ig=["disabled"],sg=["disabled"],og={__name:"App",setup(e){const n=It(null),s=It(""),r=It(1e3),a=It(0),u=It(0),c=It([]),f=It(0),d=It(!1),m=It(!1),_=It(""),v=It(1),S=It(1),I=Ai(()=>c.value.length>=20),D=It(null),O=It([]),N=It(-1);let C=null;const R=It([]),F=It([]),A=It([]),Y=It([]),H=Ai(()=>(A.value||[]).map(V=>({value:V.code,label:V.name,children:(V.children||[]).map($=>({value:$.code,label:$.name}))}))),U=Ai(()=>{const V=Y.value;return V.length===0?"":V[V.length-1]}),st=["北京","天津","上海","重庆","广东","浙江","江苏","福建","山东","四川","湖北","湖南","河南","河北","安徽","江西","陕西","山西","辽宁","吉林","黑龙江","广西","内蒙古","西藏","新疆","宁夏","青海","甘肃","贵州","云南","海南"],rt={北京:["北京"],天津:["天津"],上海:["上海"],重庆:["重庆"],广东:["广州","深圳","东莞","佛山","珠海","中山","惠州","汕头","江门","湛江","肇庆","茂名","揭阳","梅州","清远","韶关","阳江","河源","汕尾","潮州","云浮"],浙江:["杭州","宁波","温州","绍兴","嘉兴","金华","台州","湖州","衢州","舟山","丽水"],江苏:["南京","苏州","无锡","常州","南通","徐州","扬州","盐城","淮安","连云港","镇江","泰州","宿迁"],福建:["福州","厦门","泉州","漳州","莆田","宁德","龙岩","三明","南平"],山东:["济南","青岛","烟台","潍坊","临沂","淄博","济宁","威海","泰安","德州","聊城","东营","枣庄","日照","滨州","菏泽"],四川:["成都","绵阳","德阳","宜宾","南充","泸州","自贡","乐山","眉山","达州","内江","遂宁","广安","攀枝花","资阳","广元","雅安","巴中"],湖北:["武汉","襄阳","宜昌","荆州","黄冈","十堰","孝感","荆门","鄂州","黄石","咸宁","随州"],湖南:["长沙","株洲","湘潭","衡阳","岳阳","常德","益阳","邵阳","郴州","怀化","永州","娄底","湘西"],河南:["郑州","洛阳","南阳","许昌","周口","新乡","安阳","开封","商丘","信阳","驻马店","平顶山","焦作","濮阳","三门峡","漯河","鹤壁"],河北:["石家庄","唐山","保定","邯郸","沧州","廊坊","秦皇岛","张家口","衡水","邢台","承德"],安徽:["合肥","芜湖","安庆","阜阳","滁州","马鞍山","蚌埠","宿州","六安","宣城","铜陵","池州","淮南","淮北","黄山"],江西:["南昌","赣州","九江","宜春","吉安","上饶","抚州","萍乡","景德镇","新余","鹰潭"],陕西:["西安","咸阳","宝鸡","渭南","汉中","延安","榆林","安康","商洛","铜川"],山西:["太原","大同","长治","临汾","晋中","运城","晋城","吕梁","忻州","阳泉","朔州"],辽宁:["沈阳","大连","鞍山","抚顺","锦州","营口","盘锦","丹东","本溪","辽阳","朝阳","阜新","葫芦岛","铁岭"],吉林:["长春","吉林","延边","四平","通化","松原","白城","辽源","白山"],黑龙江:["哈尔滨","大庆","齐齐哈尔","牡丹江","佳木斯","绥化","鸡西","鹤岗","双鸭山","伊春","七台河","黑河","大兴安岭"],广西:["南宁","桂林","柳州","北海","玉林","百色","梧州","贵港","钦州","河池","防城港","崇左","来宾","贺州"],内蒙古:["呼和浩特","包头","赤峰","鄂尔多斯","通辽","呼伦贝尔","乌兰察布","巴彦淖尔","兴安","锡林郭勒","阿拉善"],西藏:["拉萨","日喀则","昌都","林芝","山南","那曲","阿里"],新疆:["乌鲁木齐","克拉玛依","吐鲁番","哈密","昌吉","伊犁","喀什","阿克苏","和田","塔城","阿勒泰","博尔塔拉","巴音郭楞","克孜勒苏"],宁夏:["银川","石嘴山","吴忠","固原","中卫"],青海:["西宁","海东","海西","海南","海北","黄南","玉树","果洛"],甘肃:["兰州","天水","白银","金昌","嘉峪关","武威","张掖","平凉","酒泉","庆阳","定西","陇南","临夏","甘南"],贵州:["贵阳","遵义","六盘水","安顺","毕节","铜仁","黔东南","黔南","黔西南"],云南:["昆明","大理","丽江","曲靖","玉溪","红河","楚雄","普洱","昭通","文山","西双版纳","保山","德宏","临沧","怒江","迪庆"],海南:["海口","三亚","儋州","三沙","琼海","文昌","万宁","陵水","五指山"]},wt=[{value:500,label:"500m"},{value:1e3,label:"1km"},{value:2e3,label:"2km"},{value:3e3,label:"3km"},{value:5e3,label:"5km"}],dt={北京:[39.9042,116.4074],天津:[39.1252,117.1908],上海:[31.2304,121.4737],重庆:[29.4316,106.9123],广州:[23.1291,113.2644],深圳:[22.5431,114.0579],东莞:[23.0208,113.7518],佛山:[23.0219,113.1219],珠海:[22.271,113.5767],中山:[22.515,113.3926],惠州:[23.111,114.4162],汕头:[23.3545,116.6822],江门:[22.5786,113.0945],湛江:[21.2713,110.3594],肇庆:[23.0469,112.4653],茂名:[21.663,110.9252],揭阳:[23.5499,116.3727],梅州:[24.2884,116.1176],清远:[23.681,113.056],韶关:[24.8104,113.5975],阳江:[21.8583,111.9822],河源:[23.7437,114.7009],汕尾:[22.787,115.3753],潮州:[23.6564,116.63],云浮:[22.915,112.0445],杭州:[30.2741,120.1551],宁波:[29.8683,121.544],温州:[28,120.6994],绍兴:[30.03,120.58],嘉兴:[30.7711,120.7551],金华:[29.0792,119.6474],台州:[28.6562,121.4208],湖州:[30.8931,120.0875],衢州:[28.9359,118.8742],舟山:[29.9855,122.2076],丽水:[28.468,119.9228],南京:[32.0603,118.7969],苏州:[31.299,120.5853],无锡:[31.491,120.3119],常州:[31.8107,119.9737],南通:[31.9798,120.8938],徐州:[34.2044,117.2858],扬州:[32.3937,119.4126],盐城:[33.3876,120.1633],淮安:[33.5516,119.1131],连云港:[34.5969,119.2215],镇江:[32.1898,119.4251],泰州:[32.4555,119.9227],宿迁:[33.963,118.2755],福州:[26.0745,119.2965],厦门:[24.4798,118.0895],泉州:[24.8741,118.6756],漳州:[24.5134,117.647],莆田:[25.454,119.0077],宁德:[26.6657,119.5479],龙岩:[25.0751,117.017],三明:[26.2634,117.6392],南平:[26.6417,118.1779],济南:[36.6512,116.9972],青岛:[36.0671,120.3826],烟台:[37.4645,121.4479],潍坊:[36.7068,119.1618],临沂:[35.1046,118.3564],淄博:[36.8135,118.055],济宁:[35.4148,116.5872],威海:[37.5133,122.121],泰安:[36.1994,117.0875],德州:[37.4363,116.3594],聊城:[36.4568,115.9854],东营:[37.4341,118.6746],枣庄:[34.8105,117.3211],日照:[35.4204,119.5272],滨州:[37.3819,117.9724],菏泽:[35.2337,115.4812],成都:[30.5728,104.0668],绵阳:[31.4675,104.6791],德阳:[31.1268,104.398],宜宾:[28.7519,104.6417],南充:[30.7991,106.0827],泸州:[28.8717,105.443],自贡:[29.339,104.7784],乐山:[29.5527,103.7654],眉山:[30.0595,103.8265],达州:[31.2091,107.4677],内江:[29.5802,105.0584],遂宁:[30.5329,105.5929],广安:[30.456,106.6332],攀枝花:[26.5823,101.7186],资阳:[30.1286,104.6276],广元:[32.4355,105.845],雅安:[29.9765,103.0094],巴中:[31.8674,106.7477],武汉:[30.5928,114.3055],襄阳:[32.009,112.1226],宜昌:[30.692,111.2864],荆州:[30.3345,112.2407],黄冈:[30.4544,114.8724],十堰:[32.6319,110.7939],孝感:[30.9178,113.9168],荆门:[31.0354,112.1992],鄂州:[30.3908,114.895],黄石:[30.201,115.0769],咸宁:[29.8327,114.3222],随州:[31.6902,113.3826],长沙:[28.2282,112.9388],株洲:[27.8278,113.1339],湘潭:[27.8298,112.9442],衡阳:[26.8932,112.572],岳阳:[29.3572,113.1288],常德:[29.0316,111.6985],益阳:[28.5889,112.3551],邵阳:[27.2389,111.4673],郴州:[25.7705,113.0145],怀化:[27.5697,109.9985],永州:[26.4207,111.6132],娄底:[27.7,112.0004],湘西:[28.3118,109.7394],郑州:[34.747,113.6247],洛阳:[34.6202,112.4545],南阳:[32.9908,112.5286],许昌:[34.0355,113.8523],周口:[33.626,114.6473],新乡:[35.3036,113.9269],安阳:[36.0969,114.3931],开封:[34.7973,114.3073],商丘:[34.414,115.6554],信阳:[32.1471,114.0932],驻马店:[32.9815,114.022],平顶山:[33.7662,113.1924],焦作:[35.2159,113.2418],濮阳:[35.7624,115.0297],三门峡:[34.7731,111.1999],漯河:[33.5814,114.0165],鹤壁:[35.8995,114.2975],石家庄:[38.0423,114.5145],唐山:[39.6303,118.1824],保定:[38.8739,115.4646],邯郸:[36.6256,114.5391],沧州:[38.3044,116.8387],廊坊:[39.5379,116.6838],秦皇岛:[39.8891,119.5997],张家口:[40.768,114.8862],衡水:[37.7389,115.6707],邢台:[37.0736,114.5047],承德:[40.9495,117.9593],合肥:[31.8206,117.2272],芜湖:[31.3525,118.4329],安庆:[30.5429,117.0635],阜阳:[32.8901,115.8141],滁州:[32.3019,118.3071],马鞍山:[31.6714,118.5071],蚌埠:[32.9188,117.3894],宿州:[33.6476,116.9639],六安:[31.7331,116.5199],宣城:[30.9404,118.7587],铜陵:[30.8789,117.8107],池州:[30.6648,117.4916],淮南:[32.6261,116.9997],淮北:[33.9653,116.7985],黄山:[29.7153,118.337],南昌:[28.6829,115.8582],赣州:[25.831,114.9356],九江:[29.6619,115.9973],宜春:[27.8143,114.4161],吉安:[27.113,114.9934],上饶:[28.4546,117.9435],抚州:[27.9479,116.3581],萍乡:[27.6229,113.8548],景德镇:[29.2686,117.1784],新余:[27.8178,114.9171],鹰潭:[28.2588,117.0692],西安:[34.3416,108.9398],咸阳:[34.3293,108.7092],宝鸡:[34.3621,107.2373],渭南:[34.5205,109.5103],汉中:[33.0677,107.0236],延安:[36.5854,109.4888],榆林:[38.2855,109.7345],安康:[32.6849,109.0291],商洛:[33.8683,109.9202],铜川:[34.897,108.9451],太原:[37.8706,112.5499],大同:[40.0769,113.3001],长治:[36.1954,113.1164],临汾:[36.088,111.5193],晋中:[37.6875,112.7528],运城:[35.0265,111.007],晋城:[35.4905,112.8513],吕梁:[37.5193,111.1446],忻州:[38.417,112.734],阳泉:[37.8568,113.5803],朔州:[39.3315,112.4327],沈阳:[41.8057,123.4315],大连:[38.914,121.6148],鞍山:[41.1078,122.9945],抚顺:[41.8796,123.9572],锦州:[41.0952,121.127],营口:[40.6241,122.2351],盘锦:[41.1198,122.0708],丹东:[40.0024,124.3567],本溪:[41.487,123.7716],辽阳:[41.2691,123.2378],朝阳:[41.5737,120.4508],阜新:[42.021,121.6703],葫芦岛:[40.7109,120.8372],铁岭:[42.286,123.8426],长春:[43.896,125.3265],吉林:[43.8379,126.5493],延边:[42.8907,129.5094],四平:[43.1639,124.3504],通化:[41.7278,125.9395],松原:[45.141,124.8255],白城:[45.6193,122.8389],辽源:[42.8877,125.1437],白山:[41.9406,126.4244],哈尔滨:[45.8038,126.535],大庆:[46.5967,125.1041],齐齐哈尔:[47.3543,123.918],牡丹江:[44.5528,129.6186],佳木斯:[46.7998,130.3194],绥化:[46.6368,126.9692],鸡西:[45.2953,130.9661],鹤岗:[47.3499,130.2978],双鸭山:[46.6467,131.1585],伊春:[47.7277,128.8404],七台河:[45.7708,131.0153],黑河:[50.2454,127.5284],大兴安岭:[50.5506,126.205],南宁:[22.817,108.3665],桂林:[25.2344,110.1798],柳州:[24.3249,109.428],北海:[21.4679,109.1197],玉林:[22.6529,110.1411],百色:[23.902,106.6184],梧州:[23.4769,111.2786],贵港:[23.1131,109.598],钦州:[21.9799,108.6541],河池:[24.6929,108.0854],防城港:[21.6869,108.3783],崇左:[22.3795,107.3652],来宾:[23.7332,109.2213],贺州:[24.4035,111.5667],呼和浩特:[40.8422,111.7498],包头:[40.6571,109.8402],赤峰:[42.2576,118.8888],鄂尔多斯:[39.6083,109.7809],通辽:[43.653,122.2445],呼伦贝尔:[49.2,119.76],乌兰察布:[40.9935,113.131],巴彦淖尔:[40.7274,107.3862],兴安:[46.082,122.038],锡林郭勒:[43.9335,116.048],阿拉善:[38.8483,105.6878],拉萨:[29.65,91.1],日喀则:[29.267,88.881],昌都:[31.14,97.17],林芝:[29.65,94.36],山南:[29.23,91.77],那曲:[31.47,92.06],阿里:[30.4,81.14],乌鲁木齐:[43.8256,87.6168],克拉玛依:[45.575,84.882],吐鲁番:[42.94,89.19],哈密:[42.82,93.51],昌吉:[44.013,87.305],伊犁:[43.92,81.32],喀什:[39.47,75.99],阿克苏:[41.17,80.26],和田:[37.11,79.92],塔城:[46.75,82.98],阿勒泰:[47.87,88.14],博尔塔拉:[44.9,82.07],巴音郭楞:[41.77,86.15],克孜勒苏:[39.71,76.17],银川:[38.471,106.259],石嘴山:[38.986,106.385],吴忠:[37.999,106.201],固原:[36.017,106.286],中卫:[37.517,105.196],西宁:[36.623,101.78],海东:[36.502,102.104],海西:[37.373,97.371],海南:[36.28,100.62],海北:[36.96,100.9],黄南:[35.52,102.02],玉树:[33,97.01],果洛:[34.48,100.24],兰州:[36.0611,103.8343],天水:[34.5811,105.725],白银:[36.5447,104.1382],金昌:[38.521,102.188],嘉峪关:[39.773,98.29],武威:[37.9277,102.6379],张掖:[38.9349,100.4599],平凉:[35.5434,106.6682],酒泉:[39.7368,98.494],庆阳:[35.71,107.644],定西:[35.58,104.625],陇南:[33.37,104.92],临夏:[35.6,103.21],甘南:[34.99,102.91],贵阳:[26.647,106.6302],遵义:[27.7254,106.927],六盘水:[26.5927,104.83],安顺:[26.2537,105.9462],毕节:[27.302,105.29],铜仁:[27.73,109.18],黔东南:[26.58,107.97],黔南:[26.26,107.52],黔西南:[25.09,104.9],昆明:[25.0389,102.7183],大理:[25.6065,100.228],丽江:[26.872,100.23],曲靖:[25.49,103.8],玉溪:[24.352,102.547],红河:[23.37,103.38],楚雄:[25.04,101.54],普洱:[22.83,100.97],昭通:[27.34,103.72],文山:[23.38,104.24],西双版纳:[22.01,100.8],保山:[25.12,99.17],德宏:[24.44,98.59],临沧:[23.89,100.09],怒江:[25.85,98.86],迪庆:[27.82,99.71],海口:[20.044,110.35],三亚:[18.254,109.502],儋州:[19.521,109.581],三沙:[16.83,112.34],琼海:[19.259,110.466],文昌:[19.544,110.798],万宁:[18.797,110.389],陵水:[18.506,110.037],五指山:[18.775,109.517]},Rt={北京:[39.9042,116.4074],天津:[39.1252,117.1908],上海:[31.2304,121.4737],重庆:[29.4316,106.9123],广东:[23.1291,113.2644],浙江:[30.2741,120.1551],江苏:[32.0603,118.7969],福建:[26.0745,119.2965],山东:[36.6512,116.9972],四川:[30.5728,104.0668],湖北:[30.5928,114.3055],湖南:[28.2282,112.9388],河南:[34.747,113.6247],河北:[38.0423,114.5145],安徽:[31.8206,117.2272],江西:[28.6829,115.8582],陕西:[34.3416,108.9398],山西:[37.8706,112.5499],辽宁:[41.8057,123.4315],吉林:[43.896,125.3265],黑龙江:[45.8038,126.535],广西:[22.817,108.3665],内蒙古:[40.8422,111.7498],西藏:[29.65,91.1],新疆:[43.8256,87.6168],宁夏:[38.471,106.259],青海:[36.623,101.78],甘肃:[36.0611,103.8343],贵州:[26.647,106.6302],云南:[25.0389,102.7183],海南:[20.044,110.35]};function _e(){F.value=st.map(V=>({value:V,label:V,children:(rt[V]||[]).map($=>({value:$,label:$}))}))}async function Lt(V,$){if($.length!==2)return[];try{return(await gm($[1])||[]).map(_t=>({value:_t.name,label:_t.name,latitude:_t.latitude,longitude:_t.longitude}))}catch{return[]}}function Ee(V){var nt,_t;const $=n.value;if(!(!$||V.length===0)){if(a.value=0,u.value=0,$.clearRadiusCircle(),V.length===1){const Ft=Rt[V[0]];Ft&&$.flyTo(Ft[0],Ft[1],11)}else if(V.length===2){const Ft=dt[V[1]];Ft&&$.flyTo(Ft[0],Ft[1],12)}else if(V.length===3){const Ft=F.value.find(E=>E.value===V[0]),g=(nt=Ft==null?void 0:Ft.children)==null?void 0:nt.find(E=>E.value===V[1]),w=(_t=g==null?void 0:g.children)==null?void 0:_t.find(E=>E.value===V[2]);w&&w.latitude&&w.longitude&&$.flyTo(parseFloat(w.latitude),parseFloat(w.longitude),13)}}}On(R,Ee);function gt(V){if(!V.trim()){O.value=[];return}_m(V,R.value[1]||"").then($=>{O.value=$||[],N.value=-1}).catch(()=>{O.value=[],N.value=-1})}function bt(){clearTimeout(C);const V=s.value.trim();if(!V){O.value=[];return}C=setTimeout(()=>gt(V),250)}function q(){O.value=[],N.value=-1}function re(){setTimeout(q,200)}function Q(V){const $=O.value.length;$!==0&&(N.value=(N.value+V+$)%$)}function ot(V){var $,nt;q(),s.value=V.name,V.latitude&&V.longitude&&(a.value=parseFloat(V.latitude),u.value=parseFloat(V.longitude),($=n.value)==null||$.setCenter(a.value,u.value,16),(nt=n.value)==null||nt.clearRadiusCircle()),pt()}async function pt(){var V,$,nt;if(!d.value){d.value=!0,_.value="",m.value=!0;try{const _t={keywords:s.value.trim(),city:R.value[1]||"",district:R.value[2]||"",page:v.value,longitude:u.value,latitude:a.value,radius:r.value,types:U.value},Ft=await pm(_t.keywords,_t.city,_t.page,_t.longitude,_t.latitude,_t.radius,_t.types,_t.district);c.value=Ft.list||[],f.value=Ft.total||0,S.value=Math.max(1,Math.ceil(f.value/20)),D.value=null,(V=n.value)==null||V.clearMarkers(),($=n.value)==null||$.addMarkers(c.value),_t.latitude&&_t.longitude&&((nt=n.value)==null||nt.drawRadiusCircle(_t.latitude,_t.longitude,_t.radius))}catch{_.value="搜索失败,请稍后重试",c.value=[],f.value=0}finally{d.value=!1}}}function Bt(V){var $;D.value=V,V.latitude&&V.longitude&&(($=n.value)==null||$.flyTo(parseFloat(V.latitude),parseFloat(V.longitude),16))}function Et(V){D.value=V}function xt({lat:V,lng:$}){var nt;a.value=V,u.value=$,R.value=[],(nt=n.value)==null||nt.drawRadiusCircle(V,$,r.value)}function J(){var V;a.value=0,u.value=0,(V=n.value)==null||V.clearRadiusCircle()}return _e(),mm().then(V=>{A.value=V||[]}).catch(()=>{}),(V,$)=>(Dt(),Zt("div",Rm,[Se(Tm,{ref_key:"mapRef",ref:n,onMarkerClick:Et,onMapClick:xt},null,512),yt("div",Im,[yt("div",km,[yt("div",Bm,[Ba(yt("input",{"onUpdate:modelValue":$[0]||($[0]=nt=>s.value=nt),class:"input",placeholder:"关键词(选填,如:火锅店)",onInput:bt,onCompositionend:bt,onKeydown:[$[1]||($[1]=ps(nt=>{pt(),q()},["enter"])),$[2]||($[2]=ps(zo(nt=>Q(1),["prevent"]),["down"])),$[3]||($[3]=ps(zo(nt=>Q(-1),["prevent"]),["up"])),ps(q,["esc"])],onBlur:re,autocomplete:"off"},null,544),[[Kd,s.value]])]),O.value.length>0?(Dt(),Zt("ul",Nm,[(Dt(!0),Zt(he,null,Ci(O.value,(nt,_t)=>(Dt(),Zt("li",{key:nt.poiId||_t,class:je(["suggest-item",{active:_t===N.value}]),onMousedown:zo(Ft=>ot(nt),["prevent"]),onMouseenter:Ft=>N.value=_t},[yt("span",Dm,Xt(nt.name),1),nt.city?(Dt(),Zt("span",Fm,Xt(nt.city),1)):fn("",!0)],42,zm))),128))])):fn("",!0),Se(Ml,{modelValue:R.value,"onUpdate:modelValue":$[4]||($[4]=nt=>R.value=nt),treeData:F.value,placeholder:"全部地区",lazyLoad:Lt},null,8,["modelValue","treeData"]),Se(Ml,{modelValue:Y.value,"onUpdate:modelValue":$[5]||($[5]=nt=>Y.value=nt),treeData:H.value,placeholder:"全部行业"},null,8,["modelValue","treeData"]),Ba(yt("select",{"onUpdate:modelValue":$[6]||($[6]=nt=>r.value=nt),class:"select radius-select"},[(Dt(),Zt(he,null,Ci(wt,nt=>yt("option",{key:nt.value,value:nt.value},Xt(nt.label),9,Zm)),64))],512),[[Gd,r.value]]),yt("button",{class:"btn",disabled:d.value,onClick:pt},Xt(d.value?"搜索中...":"搜索"),9,Hm)]),a.value||u.value?(Dt(),Zt("div",Um,[yt("span",null,"中心点:"+Xt(u.value.toFixed(4))+", "+Xt(a.value.toFixed(4)),1),yt("button",{class:"clear-center",onClick:J},"×")])):fn("",!0)]),m.value?(Dt(),Zt("div",{key:0,class:je(["side-panel",{"has-results":c.value.length>0}])},[d.value?(Dt(),Zt("div",jm,[...$[9]||($[9]=[yt("div",{class:"spinner"},null,-1),yt("span",null,"正在查询...",-1)])])):_.value?(Dt(),Zt("div",Wm,Xt(_.value),1)):c.value.length===0?(Dt(),Zt("div",Vm,[...$[10]||($[10]=[ku(" 未找到相关商户",-1),yt("br",null,null,-1),yt("small",null,"请尝试其他关键词",-1)])])):(Dt(),Zt(he,{key:3},[yt("div",$m,[$[11]||($[11]=yt("span",{class:"panel-title"},"搜索结果",-1)),yt("span",qm,"第 "+Xt(v.value)+" 页",1)]),yt("div",Km,[(Dt(!0),Zt(he,null,Ci(c.value,nt=>(Dt(),Zt("div",{key:nt.poiId,class:je(["result-card",{active:D.value&&D.value.poiId===nt.poiId}]),onClick:_t=>Bt(nt)},[yt("div",Jm,Xt(nt.name),1),yt("div",Xm,[yt("span",Ym,Xt(nt.category),1)]),yt("div",Qm,Xt([nt.province,nt.city,nt.district].filter(Boolean).join(" ")),1),yt("div",tg,Xt(nt.phone||"暂无电话"),1),yt("div",eg,Xt(nt.address),1)],10,Gm))),128))]),yt("div",ng,[yt("button",{class:"page-btn",disabled:v.value<=1,onClick:$[7]||($[7]=nt=>{v.value--,pt()})},"上一页",8,ig),yt("button",{class:"page-btn",disabled:!I.value,onClick:$[8]||($[8]=nt=>{v.value++,pt()})},"下一页",8,sg)])],64))],2)):fn("",!0),$[12]||($[12]=yt("div",{class:"hint-bar"},[yt("span",null,"点击地图设置搜索中心点")],-1))]))}};ep(og).mount("#app"); diff --git a/web/dist/index.html b/web/dist/index.html index b2d9f2c..1140b10 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -4,7 +4,7 @@ Pointly-Tel - 高德POI商户查询 - + diff --git a/web/src/App.vue b/web/src/App.vue index 7e90568..ecf74d4 100644 --- a/web/src/App.vue +++ b/web/src/App.vue @@ -425,13 +425,14 @@ async function doSearch() { const opts = { keywords: keywords.value.trim(), city: regionValues.value[1] || '', + district: regionValues.value[2] || '', page: page.value, longitude: centerLng.value, latitude: centerLat.value, radius: radius.value, types: searchTypes.value, } - const data = await searchPoi(opts.keywords, opts.city, opts.page, opts.longitude, opts.latitude, opts.radius, opts.types) + const data = await searchPoi(opts.keywords, opts.city, opts.page, opts.longitude, opts.latitude, opts.radius, opts.types, opts.district) results.value = data.list || [] total.value = data.total || 0 maxPage.value = Math.max(1, Math.ceil(total.value / 20)) diff --git a/web/src/api/poi.js b/web/src/api/poi.js index 6580a9c..5e8472c 100644 --- a/web/src/api/poi.js +++ b/web/src/api/poi.js @@ -5,11 +5,12 @@ const api = axios.create({ timeout: 30000, }) -export async function searchPoi(keywords, city = '', page = 1, longitude = 0, latitude = 0, radius = 1000, types = '') { +export async function searchPoi(keywords, city = '', page = 1, longitude = 0, latitude = 0, radius = 1000, types = '', district = '') { const params = { page } if (keywords) params.keywords = keywords if (types) params.types = types if (city) params.city = city + if (district) params.district = district if (longitude) params.longitude = longitude if (latitude) params.latitude = latitude if (radius) params.radius = radius