2 lines
3.5 KiB
JavaScript
2 lines
3.5 KiB
JavaScript
import{i as x}from"./AMap-2a1da440.js";import{d as D,w as I,r as L,a as S,a0 as w,a1 as z,c as b,e as N,k as O,i as C,g as s,n as U,h as _,l as G,E as K,q,s as P,_ as R}from"./index-ccab2584.js";const m=i=>(q("data-v-569aeba9"),i=i(),P(),i),T={class:"header"},$=["id"],j={class:"search-container"},H={class:"search-item"},J={class:"search"},Q=m(()=>s("span",null,"\u8BF7\u8F93\u5165\u5730\u5740\uFF1A",-1)),W={class:"search-item"},X={class:"address"},Y=m(()=>s("span",null,"\u5730\u5740\uFF1A",-1)),Z={class:"lon"},ee=m(()=>s("span",null,"\u7ECF\u5EA6\uFF1A",-1)),ae={class:"lat"},oe=m(()=>s("span",null,"\u7EAC\u5EA6\uFF1A",-1)),se=m(()=>s("div",{id:"map-container",class:"map"},null,-1)),te=D({__name:"AMap",props:{modelValue:{type:Boolean},defaultAddress:{}},emits:["update:modelValue","getAddress"],setup(i,{emit:F}){const M=i,E=e=>{var l,n;a.address=(e==null?void 0:e.address)||"",a.lat=(e==null?void 0:e.lat)||null,a.lng=(e==null?void 0:e.lng)||null,a.lat&&((l=t.value)==null||l.setCenter([+a.lng,+a.lat]),(n=t.value)==null||n.add(new AMap.Marker({position:new AMap.LngLat(+e.lng,+e.lat)})))};I(()=>M.defaultAddress,E);const f=L(""),a=S({address:"",lng:"",lat:""}),t=w(),v=w(),V=w(),y=async()=>{var l,n,g;const e=await x();t.value=new e.Map("map-container",{zoom:8,resizeEnable:!0}),(l=t.value)==null||l.on("complete",o=>{E(M.defaultAddress)}),(n=t.value)==null||n.on("click",o=>{var u,r,h;(u=t.value)==null||u.clearMap(),(r=t.value)==null||r.add(new e.Marker({position:o.lnglat})),(h=t.value)==null||h.setCenter(o.lnglat),a.lng=o.lnglat.getLng(),a.lat=o.lnglat.getLat(),new e.Geocoder().getAddress(o.lnglat,(A,p)=>{if(A==="complete"&&p.info==="OK"){const c=p.regeocode;a.address=c.formattedAddress}})}),V.value=new e.AutoComplete({input:"map-input"}),v.value=new e.PlaceSearch({map:t.value,extensions:"base"}),(g=V.value)==null||g.on("select",o=>{var d,u;(d=t.value)==null||d.clearMap(),o.poi.location?(a.lng=o.poi.location.lng,a.lat=o.poi.location.lat,(u=t.value)==null||u.add(new e.Marker({position:o.poi.location}))):new e.Geocoder({city:o.adcode}).getLocation(o.poi.name,(h,A)=>{var p;if(h==="complete"&&A.info==="OK"){const c=A.geocodes;c.length>1&&K.success("\u68C0\u7D22\u5230\u591A\u4E2A\u7ED3\u679C\uFF0C\u5DF2\u4E3A\u60A8\u5B9A\u4F4D\u5230\u7B2C\u4E00\u4E2A\u5730\u5740"),a.lng=c[0].location.lng,a.lat=c[0].location.lat,(p=t.value)==null||p.add(new e.Marker({position:c[0].location}))}}),a.address=o.poi.district,v.value.setCity(o.poi.adcode),v.value.search(o.poi.name)})},k=()=>{a.address&&a.lng&&a.lat&&F("getAddress",a)},B=()=>{f.value="",a.address="",a.lng="",a.lat=""};return z(()=>{var e;(e=t.value)==null||e.destroy()}),(e,l)=>{const n=b("el-input"),g=b("el-button"),o=b("el-dialog");return N(),O(o,{class:"map-dialog",style:{width:"80%"},modelValue:e.modelValue,"show-close":!0,"onUpdate:modelValue":l[1]||(l[1]=d=>F("update:modelValue",d)),onOpen:y,onClose:B},{header:C(({titleId:d,titleClass:u})=>[s("div",T,[s("h4",{id:d,class:U(u)},"\u5750\u6807\u62FE\u53D6",10,$),s("div",j,[s("div",H,[s("label",J,[Q,_(n,{id:"map-input",modelValue:f.value,"onUpdate:modelValue":l[0]||(l[0]=r=>f.value=r)},null,8,["modelValue"])])]),s("div",W,[s("label",X,[Y,_(n,{disabled:"","model-value":a.address},null,8,["model-value"])]),s("label",Z,[ee,_(n,{disabled:"","model-value":a.lng},null,8,["model-value"])]),s("label",ae,[oe,_(n,{disabled:"","model-value":a.lat},null,8,["model-value"])]),_(g,{class:"btn-submit",type:"primary",onClick:k},{default:C(()=>[G("\u63D0\u4EA4")]),_:1})])])])]),default:C(()=>[se]),_:1},8,["modelValue"])}}});const de=R(te,[["__scopeId","data-v-569aeba9"]]);export{de as A};
|