├── .gitignore
├── README.md
├── babel.config.js
├── docs
├── css
│ ├── app.bc0bddf1.css
│ └── chunk-vendors.d3bc3889.css
├── favicon.ico
├── heatmap.html
├── index.html
└── js
│ ├── app.89cfdbde.js
│ └── chunk-vendors.4228fc2f.js
├── package.json
├── public
├── favicon.ico
└── index.html
├── raw
├── area-location.json
└── neighborhood_taipei
│ ├── G97_A_CALIN_P.dbf
│ ├── G97_A_CALIN_P.shp
│ ├── G97_A_CALIN_P.shx
│ └── neighborhood_taipei_2020. geo.json
├── src
├── App.vue
├── assets
│ └── logo.png
├── components
│ ├── HelloWorld.vue
│ ├── VueLeaflet.vue
│ └── infoPopup.vue
├── main.js
├── resource
│ └── map-settings.json
├── store
│ └── index.js
└── styles
│ └── reset.scss
├── vue.config.js
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules
2 | package-lock.json
3 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # mask-map
2 |
3 | ## Project setup
4 | ```
5 | yarn install
6 | ```
7 |
8 | ### Compiles and hot-reloads for development
9 | ```
10 | yarn serve
11 | ```
12 |
13 | ### Compiles and minifies for production
14 | ```
15 | yarn build
16 | ```
17 |
18 | ### Lints and fixes files
19 | ```
20 | yarn lint
21 | ```
22 |
23 | ### Customize configuration
24 | See [Configuration Reference](https://cli.vuejs.org/config/).
25 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/docs/css/app.bc0bddf1.css:
--------------------------------------------------------------------------------
1 | .vue-leaflet[data-v-09085cdc]{display:block;position:absolute;width:100%;height:100%}.map-info[data-v-09085cdc]{display:block;padding:.75em 1.75em;background-color:#fff;border:1px solid #000;position:absolute;z-index:10;top:0;right:0}.map[data-v-09085cdc]{display:block;position:absolute;width:100%;height:100%;z-index:1}[data-v-09085cdc] .store-title{font-size:1.5em;line-height:1.7em;font-weight:900;margin-bottom:6px;text-align:center}[data-v-09085cdc] .store-info{font-size:1.3em;line-height:1.5}.fa-directions[data-v-09085cdc],[data-v-09085cdc] .fa-phone{font-size:.85em;font-weight:600}.popup[data-v-57955541]{-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:10px;position:fixed;display:block;width:90%;min-height:150px;background-color:#fff;top:15%;left:5%;padding:1.5rem;line-height:1.5;z-index:100;border:2px solid #999}.popup p[data-v-57955541]{margin-bottom:1em}.popup .popup-close[data-v-57955541]{top:-.5em;right:-.25em;font-size:2rem;position:absolute;color:#333}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}.info{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 1em;position:fixed;display:block;width:100%;height:2.2em;line-height:2.2em;background-color:#fff;z-index:10}.info h1{display:inline-block}.fa-info-circle{margin-left:1em}
--------------------------------------------------------------------------------
/docs/css/chunk-vendors.d3bc3889.css:
--------------------------------------------------------------------------------
1 | .leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:-webkit-transform .3s ease-out,opacity .3s ease-in;-webkit-transition:opacity .3s ease-in,-webkit-transform .3s ease-out;transition:opacity .3s ease-in,-webkit-transform .3s ease-out;transition:transform .3s ease-out,opacity .3s ease-in;transition:transform .3s ease-out,opacity .3s ease-in,-webkit-transform .3s ease-out}.leaflet-cluster-spider-leg{-webkit-transition:-webkit-stroke-dashoffset .3s ease-out,-webkit-stroke-opacity .3s ease-in;-webkit-transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in;transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}.marker-cluster-small{background-color:rgba(181,226,140,.6)}.marker-cluster-small div{background-color:rgba(110,204,57,.6)}.marker-cluster-medium{background-color:rgba(241,211,87,.6)}.marker-cluster-medium div{background-color:rgba(240,194,12,.6)}.marker-cluster-large{background-color:rgba(253,156,115,.6)}.marker-cluster-large div{background-color:rgba(241,128,23,.6)}.leaflet-oldie .marker-cluster-small{background-color:#b5e28c}.leaflet-oldie .marker-cluster-small div{background-color:#6ecc39}.leaflet-oldie .marker-cluster-medium{background-color:#f1d357}.leaflet-oldie .marker-cluster-medium div{background-color:#f0c20c}.leaflet-oldie .marker-cluster-large{background-color:#fd9c73}.leaflet-oldie .marker-cluster-large div{background-color:#f18017}.marker-cluster{background-clip:padding-box;border-radius:20px}.marker-cluster div{width:30px;height:30px;margin-left:5px;margin-top:5px;text-align:center;border-radius:15px;font:12px Helvetica Neue,Arial,Helvetica,sans-serif}.marker-cluster span{line-height:30px}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-overlay-pane svg,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{-webkit-filter:inherit;filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-tile{will-change:opacity}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;transform-origin:0 0}.leaflet-zoom-anim .leaflet-zoom-animated{will-change:transform;-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1),-webkit-transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{-webkit-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline:0}.leaflet-container a{color:#0078a8}.leaflet-container a.leaflet-active{outline:2px solid orange}.leaflet-zoom-box{border:2px dotted #38f;background:hsla(0,0%,100%,.5)}.leaflet-container{font:12px/1.5 Helvetica Neue,Arial,Helvetica,sans-serif}.leaflet-bar{-webkit-box-shadow:0 1px 5px rgba(0,0,0,.65);box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a,.leaflet-bar a:hover{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{-webkit-box-shadow:0 1px 5px rgba(0,0,0,.4);box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers-expanded .leaflet-control-layers-toggle,.leaflet-control-layers .leaflet-control-layers-list{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:hsla(0,0%,100%,.7);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-container .leaflet-control-attribution,.leaflet-container .leaflet-control-scale{font-size:11px}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;font-size:11px;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;background:#fff;background:hsla(0,0%,100%,.5)}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{-webkit-box-shadow:none;box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 19px;line-height:1.4}.leaflet-popup-content p{margin:18px 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;-webkit-box-shadow:0 3px 14px rgba(0,0,0,.4);box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;padding:4px 4px 0 0;border:none;text-align:center;width:18px;height:14px;font:16px/14px Tahoma,Verdana,sans-serif;color:#c3c3c3;text-decoration:none;font-weight:700;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover{color:#999}.leaflet-popup-scrolled{overflow:auto;border-bottom:1px solid #ddd;border-top:1px solid #ddd}.leaflet-oldie .leaflet-popup-content-wrapper{zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678)}.leaflet-oldie .leaflet-popup-tip-container{margin-top:-1px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-clickable{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}
--------------------------------------------------------------------------------
/docs/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kurotanshi/mask-map/9cd4ea2d487ccb86b549b82f98243c2b8d1e7419/docs/favicon.ico
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 |
口罩供需資訊平台 & 健保特約醫事機構地圖
--------------------------------------------------------------------------------
/docs/js/app.89cfdbde.js:
--------------------------------------------------------------------------------
1 | (function(t){function e(e){for(var o,c,i=e[0],s=e[1],u=e[2],l=0,f=[];lOpenStreetMap contributors, CC-BY-SA, Imagery © Mapbox","icon":{"iconUrl":"https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-violet.png","shadowUrl":"https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7/images/marker-shadow.png","iconSize":[25,41],"iconAnchor":[12,41],"popupAnchor":[1,-34],"shadowSize":[41,41]}}')},"41d2":function(t,e,n){},"56d7":function(t,e,n){"use strict";n.r(e);n("e260"),n("e6cf"),n("cca6"),n("a79d");var o=n("2b0e"),r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"app"}},[n("div",{staticClass:"info",on:{click:function(e){e.preventDefault(),t.isPopupShow=!0}}},[n("h1",[t._v("口罩供需資訊平台 & 健保特約醫事機構地圖")]),n("i",{staticClass:"fas fa-info-circle"})]),n("infoPopup",{directives:[{name:"show",rawName:"v-show",value:t.isPopupShow,expression:"isPopupShow"}],on:{close:function(e){t.isPopupShow=!1}}}),n("vue-leaflet")],1)},a=[],c=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vue-leaflet"},[n("div",{staticClass:"map"},[n("l-map",{ref:"myMap",attrs:{zoom:t.zoom,center:t.center,options:{zoomControl:!1}}},[n("l-tile-layer",{attrs:{url:t.url,attribution:t.attribution}}),n("l-marker",{ref:"hereMarker",attrs:{"lat-lng":t.center,icon:t.icon}}),n("v-marker-cluster",{attrs:{options:t.clusterOptions}},t._l(t.stores,(function(e){return n("l-geo-json",{key:e.id,attrs:{geojson:e,options:t.geoJsonOptions}})})),1)],1)],1)])},i=[],s=(n("a4d3"),n("99af"),n("4de4"),n("4160"),n("b0c0"),n("e439"),n("dbb4"),n("b64b"),n("ac1f"),n("5319"),n("159b"),n("ade3")),u=n("2699"),p=n("a40a"),l=n("044a"),f=n("4e2b"),d=n("ca9f"),h=n.n(d),m=n("1ccd");function v(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function b(t){for(var e=1;e'.concat(t.name,'\n \n
\n
\n
\n
成人口罩: ").concat(t.mask_adult,"
\n
小孩口罩: ").concat(t.mask_child,"
\n
更新時間: ").concat(""===t.updated?"(不明)":t.updated,"
\n
\n ")},customIcon:function(t){return g.icon(b({},m.icon,{iconUrl:"https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-".concat(t,".png")}))},createCustomIcon:function(t,e){var n=t.properties,o=n.mask_adult,r=this.icons.grey;return o>100?r=this.icons.green:o>50?r=this.icons.yellow:o>0&&(r=this.icons.red),g.marker(e,{icon:r})}},mounted:function(){var t=this;this.$store.dispatch("fetchPharmacies"),this.$nextTick((function(){var e=t.$refs.myMap.mapObject;g.control.zoom({position:"bottomright"}).addTo(e),navigator.geolocation.getCurrentPosition((function(e){var n=e.coords;t.center=g.latLng(n.latitude,n.longitude),t.$refs.hereMarker.mapObject.bindTooltip("You",{offset:[0,-36],permanent:!0,direction:"top"})}))}))}},y=w,O=(n("0525"),n("2877")),j=Object(O["a"])(y,c,i,!1,null,"09085cdc",null),_=j.exports,k=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"popup"},[n("a",{staticClass:"popup-close",attrs:{href:""},on:{click:function(e){return e.preventDefault(),t.$emit("close")}}},[n("i",{staticClass:"fas fa-times-circle"})]),n("p",[t._v("您好:")]),n("p",[t._v("口罩的取得須依政府頒布的規則辦理。 庫存數量僅供參考,資訊約每分鐘更新一次,實際庫存仍以個別單位現場為準。")]),n("p",{staticStyle:{color:"#f00"}},[t._v("部分藥局因採發放號碼牌方式,方便民眾購買口罩,因目前無法顯示顯示已發送號碼牌數量。若看到剩餘數量,請先電洽藥局。")]),t._m(0)])},P=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("p",[t._v("詳細情況以 "),n("a",{attrs:{target:"_blank",href:"https://www.nhi.gov.tw/Content_List.aspx?n=395F52D193F3B5C7&topn=787128DAD5F71B1A"}},[t._v("衛生福利部中央健康保險署")]),t._v(" 說明為主,本網頁資料由 "),n("a",{attrs:{target:"_blank",href:"https://mask.pdis.nat.gov.tw/"}},[t._v("口罩供需資訊平台")]),t._v(" 與社群朋友提供,感謝各方協助")])}],x={name:"infoPopup"},S=x,I=(n("9a64"),Object(O["a"])(S,k,P,!1,null,"57955541",null)),C=I.exports,L={name:"app",components:{VueLeaflet:_,infoPopup:C},data:function(){return{isPopupShow:!1}}},M=L,D=(n("5c0b"),Object(O["a"])(M,r,a,!1,null,null,null)),$=D.exports,z=(n("d3b7"),n("96cf"),n("1da1")),T=n("2f62");o["a"].use(T["a"]);var U=new T["a"].Store({state:{stores:[]},mutations:{setStores:function(t,e){t.stores=e}},actions:{fetchPharmacies:function(){var t=this;return Object(z["a"])(regeneratorRuntime.mark((function e(){var n;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,fetch("https://kiang.github.io/pharmacies/json/points.json").then((function(t){return t.json()}));case 2:n=e.sent,t.commit("setStores",n);case 4:case"end":return e.stop()}}),e)})))()}},modules:{}}),A=n("e11e");n("6cc5");o["a"].config.productionTip=!1,delete A["Icon"].Default.prototype._getIconUrl,A["Icon"].Default.mergeOptions({iconRetinaUrl:n("584d"),iconUrl:n("6397"),shadowUrl:n("e2b9")}),new o["a"]({store:U,render:function(t){return t($)}}).$mount("#app")},"5c0b":function(t,e,n){"use strict";var o=n("9c0c"),r=n.n(o);r.a},"9a64":function(t,e,n){"use strict";var o=n("41d2"),r=n.n(o);r.a},"9c0c":function(t,e,n){},c788:function(t,e,n){}});
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mask-map",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "@turf/turf": "^5.1.6",
12 | "core-js": "^3.4.4",
13 | "leaflet": "^1.6.0",
14 | "vue": "^2.6.10",
15 | "vue2-leaflet": "^2.4.2",
16 | "vue2-leaflet-markercluster": "^3.1.0",
17 | "vuex": "^3.1.2"
18 | },
19 | "devDependencies": {
20 | "@vue/cli-plugin-babel": "^4.1.0",
21 | "@vue/cli-plugin-eslint": "^4.1.0",
22 | "@vue/cli-plugin-vuex": "^4.1.0",
23 | "@vue/cli-service": "^4.1.0",
24 | "@vue/eslint-config-standard": "^4.0.0",
25 | "babel-eslint": "^10.0.3",
26 | "eslint": "^5.16.0",
27 | "eslint-plugin-vue": "^5.0.0",
28 | "node-sass": "^4.12.0",
29 | "sass-loader": "^8.0.0",
30 | "vue-template-compiler": "^2.6.10"
31 | },
32 | "eslintConfig": {
33 | "root": true,
34 | "env": {
35 | "node": true
36 | },
37 | "extends": [
38 | "plugin:vue/essential",
39 | "@vue/standard"
40 | ],
41 | "rules": {},
42 | "parserOptions": {
43 | "parser": "babel-eslint"
44 | }
45 | },
46 | "browserslist": [
47 | "> 1%",
48 | "last 2 versions"
49 | ]
50 | }
51 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kurotanshi/mask-map/9cd4ea2d487ccb86b549b82f98243c2b8d1e7419/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | 口罩供需資訊平台 & 健保特約醫事機構地圖
11 |
20 |
21 |
22 |
23 |
27 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/raw/area-location.json:
--------------------------------------------------------------------------------
1 | [{
2 | "sort": 1,
3 | "id": "0000",
4 | "name": "臺北市",
5 | "districts": [{
6 | "sort": 10,
7 | "id": 1,
8 | "name": "中正區",
9 | "latitude": 25.044214,
10 | "longitude": 121.524725,
11 | "zipCode": 100
12 | }, {
13 | "sort": 12,
14 | "id": 2,
15 | "name": "大同區",
16 | "latitude": 25.066128,
17 | "longitude": 121.51558,
18 | "zipCode": 103
19 | }, {
20 | "sort": 2,
21 | "id": 3,
22 | "name": "中山區",
23 | "latitude": 25.064449,
24 | "longitude": 121.533668,
25 | "zipCode": 104
26 | }, {
27 | "sort": 8,
28 | "id": 4,
29 | "name": "松山區",
30 | "latitude": 25.049878,
31 | "longitude": 121.577233,
32 | "zipCode": 105
33 | }, {
34 | "sort": 4,
35 | "id": 5,
36 | "name": "大安區",
37 | "latitude": 25.026511,
38 | "longitude": 121.534346,
39 | "zipCode": 106
40 | }, {
41 | "sort": 11,
42 | "id": 6,
43 | "name": "萬華區",
44 | "latitude": 25.035047,
45 | "longitude": 121.499776,
46 | "zipCode": 108
47 | }, {
48 | "sort": 5,
49 | "id": 7,
50 | "name": "信義區",
51 | "latitude": 25.033427,
52 | "longitude": 121.566911,
53 | "zipCode": 110
54 | }, {
55 | "sort": 7,
56 | "id": 8,
57 | "name": "士林區",
58 | "latitude": 25.092897,
59 | "longitude": 121.519771,
60 | "zipCode": 111
61 | }, {
62 | "sort": 6,
63 | "id": 9,
64 | "name": "北投區",
65 | "latitude": 25.132377,
66 | "longitude": 121.502949,
67 | "zipCode": 112
68 | }, {
69 | "sort": 1,
70 | "id": 10,
71 | "name": "內湖區",
72 | "latitude": 25.06936,
73 | "longitude": 121.588996,
74 | "zipCode": 114
75 | }, {
76 | "sort": 9,
77 | "id": 11,
78 | "name": "南港區",
79 | "latitude": 25.054527,
80 | "longitude": 121.606793,
81 | "zipCode": 115
82 | }, {
83 | "sort": 3,
84 | "id": 12,
85 | "name": "文山區",
86 | "latitude": 24.989503,
87 | "longitude": 121.5702,
88 | "zipCode": 116
89 | }]
90 | }, {
91 | "sort": 2,
92 | "id": "0001",
93 | "name": "新北市",
94 | "districts": [{
95 | "sort": 22,
96 | "id": 13,
97 | "name": "萬里區",
98 | "latitude": 25.178117,
99 | "longitude": 121.689572,
100 | "zipCode": 207
101 | }, {
102 | "sort": 21,
103 | "id": 14,
104 | "name": "金山區",
105 | "latitude": 25.222232818603516,
106 | "longitude": 121.63664245605469,
107 | "zipCode": 208
108 | }, {
109 | "sort": 3,
110 | "id": 15,
111 | "name": "板橋區",
112 | "latitude": 25.009628295898438,
113 | "longitude": 121.45906066894531,
114 | "zipCode": 220
115 | }, {
116 | "sort": 2,
117 | "id": 16,
118 | "name": "汐止區",
119 | "latitude": 25.063602447509766,
120 | "longitude": 121.65888977050781,
121 | "zipCode": 221
122 | }, {
123 | "sort": 20,
124 | "id": 17,
125 | "name": "深坑區",
126 | "latitude": 25.00259,
127 | "longitude": 121.615871,
128 | "zipCode": 222
129 | }, {
130 | "sort": 24,
131 | "id": 18,
132 | "name": "石碇區",
133 | "latitude": 24.991504669189453,
134 | "longitude": 121.65792846679687,
135 | "zipCode": 223
136 | }, {
137 | "sort": 19,
138 | "id": 19,
139 | "name": "瑞芳區",
140 | "latitude": 25.108890533447266,
141 | "longitude": 121.80989837646484,
142 | "zipCode": 224
143 | }, {
144 | "sort": 27,
145 | "id": 20,
146 | "name": "平溪區",
147 | "latitude": 25.026642,
148 | "longitude": 121.738199,
149 | "zipCode": 226
150 | }, {
151 | "sort": 28,
152 | "id": 21,
153 | "name": "雙溪區",
154 | "latitude": 25.033759,
155 | "longitude": 121.865789,
156 | "zipCode": 227
157 | }, {
158 | "sort": 29,
159 | "id": 22,
160 | "name": "貢寮區",
161 | "latitude": 25.021873,
162 | "longitude": 121.91022,
163 | "zipCode": 228
164 | }, {
165 | "sort": 9,
166 | "id": 23,
167 | "name": "新店區",
168 | "latitude": 24.974704,
169 | "longitude": 121.543124,
170 | "zipCode": 231
171 | }, {
172 | "sort": 26,
173 | "id": 24,
174 | "name": "坪林區",
175 | "latitude": 24.936164855957031,
176 | "longitude": 121.71173095703125,
177 | "zipCode": 232
178 | }, {
179 | "sort": 25,
180 | "id": 25,
181 | "name": "烏來區",
182 | "latitude": 24.871730804443359,
183 | "longitude": 121.54796600341797,
184 | "zipCode": 233
185 | }, {
186 | "sort": 12,
187 | "id": 26,
188 | "name": "永和區",
189 | "latitude": 25.009176254272461,
190 | "longitude": 121.52042388916016,
191 | "zipCode": 234
192 | }, {
193 | "sort": 6,
194 | "id": 27,
195 | "name": "中和區",
196 | "latitude": 24.998544692993164,
197 | "longitude": 121.50070190429687,
198 | "zipCode": 235
199 | }, {
200 | "sort": 13,
201 | "id": 28,
202 | "name": "土城區",
203 | "latitude": 24.972597122192383,
204 | "longitude": 121.44281005859375,
205 | "zipCode": 236
206 | }, {
207 | "sort": 11,
208 | "id": 29,
209 | "name": "三峽區",
210 | "latitude": 24.934240341186523,
211 | "longitude": 121.368896484375,
212 | "zipCode": 237
213 | }, {
214 | "sort": 8,
215 | "id": 30,
216 | "name": "樹林區",
217 | "latitude": 24.989854,
218 | "longitude": 121.424594,
219 | "zipCode": 238
220 | }, {
221 | "sort": 15,
222 | "id": 31,
223 | "name": "鶯歌區",
224 | "latitude": 24.956161499023438,
225 | "longitude": 121.35418701171875,
226 | "zipCode": 239
227 | }, {
228 | "sort": 1,
229 | "id": 32,
230 | "name": "三重區",
231 | "latitude": 25.060848236083984,
232 | "longitude": 121.48833465576172,
233 | "zipCode": 241
234 | }, {
235 | "sort": 7,
236 | "id": 33,
237 | "name": "新莊區",
238 | "latitude": 25.035879135131836,
239 | "longitude": 121.45061492919922,
240 | "zipCode": 242
241 | }, {
242 | "sort": 16,
243 | "id": 34,
244 | "name": "泰山區",
245 | "latitude": 25.059307,
246 | "longitude": 121.431311,
247 | "zipCode": 243
248 | }, {
249 | "sort": 4,
250 | "id": 35,
251 | "name": "林口區",
252 | "latitude": 25.076778411865234,
253 | "longitude": 121.38866424560547,
254 | "zipCode": 244
255 | }, {
256 | "sort": 10,
257 | "id": 36,
258 | "name": "蘆洲區",
259 | "latitude": 25.084693,
260 | "longitude": 121.473611,
261 | "zipCode": 247
262 | }, {
263 | "sort": 14,
264 | "id": 37,
265 | "name": "五股區",
266 | "latitude": 25.083044052124023,
267 | "longitude": 121.43809509277344,
268 | "zipCode": 248
269 | }, {
270 | "sort": 18,
271 | "id": 38,
272 | "name": "八里區",
273 | "latitude": 25.149397,
274 | "longitude": 121.401257,
275 | "zipCode": 249
276 | }, {
277 | "sort": 5,
278 | "id": 39,
279 | "name": "淡水區",
280 | "latitude": 25.187069,
281 | "longitude": 121.44394,
282 | "zipCode": 251
283 | }, {
284 | "sort": 17,
285 | "id": 40,
286 | "name": "三芝區",
287 | "latitude": 25.257839202880859,
288 | "longitude": 121.50111389160156,
289 | "zipCode": 252
290 | }, {
291 | "sort": 23,
292 | "id": 41,
293 | "name": "石門區",
294 | "latitude": 25.29121208190918,
295 | "longitude": 121.56786346435547,
296 | "zipCode": 253
297 | }]
298 | }, {
299 | "sort": 12,
300 | "id": "0002",
301 | "name": "基隆市",
302 | "districts": [{
303 | "sort": 7,
304 | "id": 42,
305 | "name": "仁愛區",
306 | "latitude": 25.125144,
307 | "longitude": 121.736553,
308 | "zipCode": 200
309 | }, {
310 | "sort": 4,
311 | "id": 43,
312 | "name": "信義區",
313 | "latitude": 25.129433,
314 | "longitude": 121.751346,
315 | "zipCode": 201
316 | }, {
317 | "sort": 3,
318 | "id": 44,
319 | "name": "中正區",
320 | "latitude": 25.14096,
321 | "longitude": 121.759378,
322 | "zipCode": 202
323 | }, {
324 | "sort": 6,
325 | "id": 45,
326 | "name": "中山區",
327 | "latitude": 25.152976,
328 | "longitude": 121.72948,
329 | "zipCode": 203
330 | }, {
331 | "sort": 2,
332 | "id": 46,
333 | "name": "安樂區",
334 | "latitude": 25.121095,
335 | "longitude": 121.723267,
336 | "zipCode": 204
337 | }, {
338 | "sort": 5,
339 | "id": 47,
340 | "name": "暖暖區",
341 | "latitude": 25.1002197265625,
342 | "longitude": 121.73592376708984,
343 | "zipCode": 205
344 | }, {
345 | "sort": 1,
346 | "id": 48,
347 | "name": "七堵區",
348 | "latitude": 25.097631,
349 | "longitude": 121.716625,
350 | "zipCode": 206
351 | }]
352 | }, {
353 | "sort": 11,
354 | "id": "0004",
355 | "name": "宜蘭縣",
356 | "districts": [{
357 | "sort": 1,
358 | "id": 53,
359 | "name": "宜蘭市",
360 | "latitude": 24.752052,
361 | "longitude": 121.753386,
362 | "zipCode": 260
363 | }, {
364 | "sort": 10,
365 | "id": 54,
366 | "name": "頭城鎮",
367 | "latitude": 24.854665,
368 | "longitude": 121.821413,
369 | "zipCode": 261
370 | }, {
371 | "sort": 5,
372 | "id": 55,
373 | "name": "礁溪鄉",
374 | "latitude": 24.823514,
375 | "longitude": 121.77121,
376 | "zipCode": 262
377 | }, {
378 | "sort": 6,
379 | "id": 56,
380 | "name": "壯圍鄉",
381 | "latitude": 24.74693489074707,
382 | "longitude": 121.78573608398437,
383 | "zipCode": 263
384 | }, {
385 | "sort": 7,
386 | "id": 57,
387 | "name": "員山鄉",
388 | "latitude": 24.743316,
389 | "longitude": 121.723182,
390 | "zipCode": 264
391 | }, {
392 | "sort": 3,
393 | "id": 58,
394 | "name": "羅東鎮",
395 | "latitude": 24.677164,
396 | "longitude": 121.766947,
397 | "zipCode": 265
398 | }, {
399 | "sort": 8,
400 | "id": 59,
401 | "name": "三星鄉",
402 | "latitude": 24.665497,
403 | "longitude": 121.653866,
404 | "zipCode": 266
405 | }, {
406 | "sort": 11,
407 | "id": 60,
408 | "name": "大同鄉",
409 | "latitude": 24.677397,
410 | "longitude": 121.60902,
411 | "zipCode": 267
412 | }, {
413 | "sort": 4,
414 | "id": 61,
415 | "name": "五結鄉",
416 | "latitude": 24.68464,
417 | "longitude": 121.798303,
418 | "zipCode": 268
419 | }, {
420 | "sort": 2,
421 | "id": 62,
422 | "name": "冬山鄉",
423 | "latitude": 24.634414,
424 | "longitude": 121.792632,
425 | "zipCode": 269
426 | }, {
427 | "sort": 9,
428 | "id": 63,
429 | "name": "蘇澳鎮",
430 | "latitude": 24.594459533691406,
431 | "longitude": 121.84207153320313,
432 | "zipCode": 270
433 | }, {
434 | "sort": 12,
435 | "id": 64,
436 | "name": "南澳鄉",
437 | "latitude": 24.466102,
438 | "longitude": 121.80368,
439 | "zipCode": 272
440 | }]
441 | }, {
442 | "sort": 4,
443 | "id": "0006",
444 | "name": "新竹市",
445 | "districts": [{
446 | "sort": 1,
447 | "id": 67,
448 | "name": "東區",
449 | "latitude": 24.805269,
450 | "longitude": 120.973466,
451 | "zipCode": 300
452 | }, {
453 | "sort": 2,
454 | "id": 68,
455 | "name": "北區",
456 | "latitude": 24.816351,
457 | "longitude": 120.970342,
458 | "zipCode": 300
459 | }, {
460 | "sort": 3,
461 | "id": 69,
462 | "name": "香山區",
463 | "latitude": 24.794566,
464 | "longitude": 120.942331,
465 | "zipCode": 300
466 | }]
467 | }, {
468 | "sort": 5,
469 | "id": "0007",
470 | "name": "新竹縣",
471 | "districts": [{
472 | "sort": 1,
473 | "id": 70,
474 | "name": "竹北市",
475 | "latitude": 24.839672088623047,
476 | "longitude": 121.00417327880859,
477 | "zipCode": 302
478 | }, {
479 | "sort": 3,
480 | "id": 71,
481 | "name": "湖口鄉",
482 | "latitude": 24.900859832763672,
483 | "longitude": 121.0479736328125,
484 | "zipCode": 303
485 | }, {
486 | "sort": 4,
487 | "id": 72,
488 | "name": "新豐鄉",
489 | "latitude": 24.900747299194336,
490 | "longitude": 120.98537445068359,
491 | "zipCode": 304
492 | }, {
493 | "sort": 6,
494 | "id": 73,
495 | "name": "新埔鎮",
496 | "latitude": 24.825921,
497 | "longitude": 121.074041,
498 | "zipCode": 305
499 | }, {
500 | "sort": 10,
501 | "id": 74,
502 | "name": "關西鎮",
503 | "latitude": 24.792482,
504 | "longitude": 121.175797,
505 | "zipCode": 306
506 | }, {
507 | "sort": 7,
508 | "id": 75,
509 | "name": "芎林鄉",
510 | "latitude": 24.773296356201172,
511 | "longitude": 121.08185577392578,
512 | "zipCode": 307
513 | }, {
514 | "sort": 5,
515 | "id": 76,
516 | "name": "寶山鄉",
517 | "latitude": 24.765413284301758,
518 | "longitude": 120.99111175537109,
519 | "zipCode": 308
520 | }, {
521 | "sort": 2,
522 | "id": 77,
523 | "name": "竹東鎮",
524 | "latitude": 24.736645,
525 | "longitude": 121.091723,
526 | "zipCode": 310
527 | }, {
528 | "sort": 12,
529 | "id": 78,
530 | "name": "五峰鄉",
531 | "latitude": 24.632078170776367,
532 | "longitude": 121.11958312988281,
533 | "zipCode": 311
534 | }, {
535 | "sort": 8,
536 | "id": 79,
537 | "name": "橫山鄉",
538 | "latitude": 24.716827392578125,
539 | "longitude": 121.14151763916016,
540 | "zipCode": 312
541 | }, {
542 | "sort": 13,
543 | "id": 80,
544 | "name": "尖石鄉",
545 | "latitude": 24.705142,
546 | "longitude": 121.202257,
547 | "zipCode": 313
548 | }, {
549 | "sort": 9,
550 | "id": 81,
551 | "name": "北埔鄉",
552 | "latitude": 24.702007293701172,
553 | "longitude": 121.05638885498047,
554 | "zipCode": 314
555 | }, {
556 | "sort": 11,
557 | "id": 82,
558 | "name": "峨眉鄉",
559 | "latitude": 24.688816,
560 | "longitude": 121.019376,
561 | "zipCode": 315
562 | }]
563 | }, {
564 | "sort": 3,
565 | "id": "0008",
566 | "name": "桃園市",
567 | "districts": [{
568 | "sort": 2,
569 | "id": 83,
570 | "name": "中壢區",
571 | "latitude": 24.965452,
572 | "longitude": 121.225089,
573 | "zipCode": 320
574 | }, {
575 | "sort": 4,
576 | "id": 84,
577 | "name": "平鎮區",
578 | "latitude": 24.945701599121094,
579 | "longitude": 121.21823120117187,
580 | "zipCode": 324
581 | }, {
582 | "sort": 8,
583 | "id": 85,
584 | "name": "龍潭區",
585 | "latitude": 24.870707,
586 | "longitude": 121.222249,
587 | "zipCode": 325
588 | }, {
589 | "sort": 9,
590 | "id": 86,
591 | "name": "楊梅區",
592 | "latitude": 24.907625,
593 | "longitude": 121.145845,
594 | "zipCode": 326
595 | }, {
596 | "sort": 12,
597 | "id": 87,
598 | "name": "新屋區",
599 | "latitude": 24.972480773925781,
600 | "longitude": 121.10548400878906,
601 | "zipCode": 327
602 | }, {
603 | "sort": 10,
604 | "id": 88,
605 | "name": "觀音區",
606 | "latitude": 25.02808,
607 | "longitude": 121.083424,
608 | "zipCode": 328
609 | }, {
610 | "sort": 1,
611 | "id": 89,
612 | "name": "桃園區",
613 | "latitude": 24.993879318237305,
614 | "longitude": 121.30190277099609,
615 | "zipCode": 330
616 | }, {
617 | "sort": 3,
618 | "id": 90,
619 | "name": "龜山區",
620 | "latitude": 24.99258,
621 | "longitude": 121.337878,
622 | "zipCode": 333
623 | }, {
624 | "sort": 5,
625 | "id": 91,
626 | "name": "八德區",
627 | "latitude": 24.928930282592773,
628 | "longitude": 121.28463745117187,
629 | "zipCode": 334
630 | }, {
631 | "sort": 7,
632 | "id": 92,
633 | "name": "大溪區",
634 | "latitude": 24.880632400512695,
635 | "longitude": 121.28702545166016,
636 | "zipCode": 335
637 | }, {
638 | "sort": 13,
639 | "id": 93,
640 | "name": "復興區",
641 | "latitude": 24.814731597900391,
642 | "longitude": 121.35113525390625,
643 | "zipCode": 336
644 | }, {
645 | "sort": 11,
646 | "id": 94,
647 | "name": "大園區",
648 | "latitude": 25.063927,
649 | "longitude": 121.195499,
650 | "zipCode": 337
651 | }, {
652 | "sort": 6,
653 | "id": 95,
654 | "name": "蘆竹區",
655 | "latitude": 25.046934127807617,
656 | "longitude": 121.29508209228516,
657 | "zipCode": 338
658 | }]
659 | }, {
660 | "sort": 15,
661 | "id": "0009",
662 | "name": "苗栗縣",
663 | "districts": [{
664 | "sort": 2,
665 | "id": 96,
666 | "name": "竹南鎮",
667 | "latitude": 24.683843,
668 | "longitude": 120.873426,
669 | "zipCode": 350
670 | }, {
671 | "sort": 1,
672 | "id": 97,
673 | "name": "頭份市",
674 | "latitude": 24.686364,
675 | "longitude": 120.913023,
676 | "zipCode": 351
677 | }, {
678 | "sort": 7,
679 | "id": 98,
680 | "name": "三灣鄉",
681 | "latitude": 24.653123,
682 | "longitude": 120.956574,
683 | "zipCode": 352
684 | }, {
685 | "sort": 5,
686 | "id": 99,
687 | "name": "南庄鄉",
688 | "latitude": 24.597044,
689 | "longitude": 121.000302,
690 | "zipCode": 353
691 | }, {
692 | "sort": 15,
693 | "id": 100,
694 | "name": "獅潭鄉",
695 | "latitude": 24.539236,
696 | "longitude": 120.920102,
697 | "zipCode": 354
698 | }, {
699 | "sort": 6,
700 | "id": 101,
701 | "name": "後龍鎮",
702 | "latitude": 24.613796,
703 | "longitude": 120.791988,
704 | "zipCode": 356
705 | }, {
706 | "sort": 10,
707 | "id": 102,
708 | "name": "通霄鎮",
709 | "latitude": 24.491395950317383,
710 | "longitude": 120.68418121337891,
711 | "zipCode": 357
712 | }, {
713 | "sort": 11,
714 | "id": 103,
715 | "name": "苑裡鎮",
716 | "latitude": 24.439665,
717 | "longitude": 120.653065,
718 | "zipCode": 358
719 | }, {
720 | "sort": 3,
721 | "id": 104,
722 | "name": "苗栗市",
723 | "latitude": 24.561517,
724 | "longitude": 120.81883,
725 | "zipCode": 360
726 | }, {
727 | "sort": 4,
728 | "id": 105,
729 | "name": "造橋鄉",
730 | "latitude": 24.638626098632813,
731 | "longitude": 120.86520385742187,
732 | "zipCode": 361
733 | }, {
734 | "sort": 16,
735 | "id": 106,
736 | "name": "頭屋鄉",
737 | "latitude": 24.577747,
738 | "longitude": 120.851076,
739 | "zipCode": 362
740 | }, {
741 | "sort": 8,
742 | "id": 107,
743 | "name": "公館鄉",
744 | "latitude": 24.505908966064453,
745 | "longitude": 120.82852172851562,
746 | "zipCode": 363
747 | }, {
748 | "sort": 13,
749 | "id": 108,
750 | "name": "大湖鄉",
751 | "latitude": 24.423426,
752 | "longitude": 120.866118,
753 | "zipCode": 364
754 | }, {
755 | "sort": 17,
756 | "id": 109,
757 | "name": "泰安鄉",
758 | "latitude": 24.447393,
759 | "longitude": 120.908045,
760 | "zipCode": 365
761 | }, {
762 | "sort": 14,
763 | "id": 110,
764 | "name": "銅鑼鄉",
765 | "latitude": 24.486963,
766 | "longitude": 120.787843,
767 | "zipCode": 366
768 | }, {
769 | "sort": 9,
770 | "id": 111,
771 | "name": "三義鄉",
772 | "latitude": 24.41282,
773 | "longitude": 120.770272,
774 | "zipCode": 367
775 | }, {
776 | "sort": 18,
777 | "id": 112,
778 | "name": "西湖鄉",
779 | "latitude": 24.55672,
780 | "longitude": 120.757225,
781 | "zipCode": 368
782 | }, {
783 | "sort": 12,
784 | "id": 113,
785 | "name": "卓蘭鎮",
786 | "latitude": 24.312971115112305,
787 | "longitude": 120.82452392578125,
788 | "zipCode": 369
789 | }]
790 | }, {
791 | "sort": 6,
792 | "id": "0010",
793 | "name": "臺中市",
794 | "districts": [{
795 | "sort": 7,
796 | "id": 114,
797 | "name": "中區",
798 | "latitude": 24.143914,
799 | "longitude": 120.679511,
800 | "zipCode": 400
801 | }, {
802 | "sort": 8,
803 | "id": 115,
804 | "name": "東區",
805 | "latitude": 24.136669,
806 | "longitude": 120.703733,
807 | "zipCode": 401
808 | }, {
809 | "sort": 6,
810 | "id": 116,
811 | "name": "南區",
812 | "latitude": 24.11716,
813 | "longitude": 120.663756,
814 | "zipCode": 402
815 | }, {
816 | "sort": 5,
817 | "id": 117,
818 | "name": "西區",
819 | "latitude": 24.141213,
820 | "longitude": 120.67114,
821 | "zipCode": 403
822 | }, {
823 | "sort": 4,
824 | "id": 118,
825 | "name": "北區",
826 | "latitude": 24.165783,
827 | "longitude": 120.682277,
828 | "zipCode": 404
829 | }, {
830 | "sort": 2,
831 | "id": 119,
832 | "name": "北屯區",
833 | "latitude": 24.18267822265625,
834 | "longitude": 120.68656921386719,
835 | "zipCode": 406
836 | }, {
837 | "sort": 1,
838 | "id": 120,
839 | "name": "西屯區",
840 | "latitude": 24.165563,
841 | "longitude": 120.633815,
842 | "zipCode": 407
843 | }, {
844 | "sort": 3,
845 | "id": 121,
846 | "name": "南屯區",
847 | "latitude": 24.134415,
848 | "longitude": 120.644423,
849 | "zipCode": 408
850 | }, {
851 | "sort": 13,
852 | "id": 122,
853 | "name": "太平區",
854 | "latitude": 24.126477,
855 | "longitude": 120.718367,
856 | "zipCode": 411
857 | }, {
858 | "sort": 9,
859 | "id": 123,
860 | "name": "大里區",
861 | "latitude": 24.099468,
862 | "longitude": 120.677837,
863 | "zipCode": 412
864 | }, {
865 | "sort": 17,
866 | "id": 124,
867 | "name": "霧峰區",
868 | "latitude": 24.061067,
869 | "longitude": 120.700029,
870 | "zipCode": 413
871 | }, {
872 | "sort": 16,
873 | "id": 125,
874 | "name": "烏日區",
875 | "latitude": 24.104842,
876 | "longitude": 120.623772,
877 | "zipCode": 414
878 | }, {
879 | "sort": 11,
880 | "id": 126,
881 | "name": "豐原區",
882 | "latitude": 24.241798,
883 | "longitude": 120.718229,
884 | "zipCode": 420
885 | }, {
886 | "sort": 23,
887 | "id": 127,
888 | "name": "后里區",
889 | "latitude": 24.305063,
890 | "longitude": 120.710763,
891 | "zipCode": 421
892 | }, {
893 | "sort": 26,
894 | "id": 128,
895 | "name": "石岡區",
896 | "latitude": 24.27468,
897 | "longitude": 120.780464,
898 | "zipCode": 422
899 | }, {
900 | "sort": 25,
901 | "id": 129,
902 | "name": "東勢區",
903 | "latitude": 24.258702,
904 | "longitude": 120.827855,
905 | "zipCode": 423
906 | }, {
907 | "sort": 29,
908 | "id": 130,
909 | "name": "和平區",
910 | "latitude": 24.17515,
911 | "longitude": 120.883601,
912 | "zipCode": 424
913 | }, {
914 | "sort": 22,
915 | "id": 131,
916 | "name": "新社區",
917 | "latitude": 24.233869,
918 | "longitude": 120.809496,
919 | "zipCode": 426
920 | }, {
921 | "sort": 14,
922 | "id": 132,
923 | "name": "潭子區",
924 | "latitude": 24.203602,
925 | "longitude": 120.72336,
926 | "zipCode": 427
927 | }, {
928 | "sort": 12,
929 | "id": 133,
930 | "name": "大雅區",
931 | "latitude": 24.228984,
932 | "longitude": 120.647681,
933 | "zipCode": 428
934 | }, {
935 | "sort": 18,
936 | "id": 134,
937 | "name": "神岡區",
938 | "latitude": 24.257987,
939 | "longitude": 120.661336,
940 | "zipCode": 429
941 | }, {
942 | "sort": 21,
943 | "id": 135,
944 | "name": "大肚區",
945 | "latitude": 24.151207,
946 | "longitude": 120.545689,
947 | "zipCode": 432
948 | }, {
949 | "sort": 10,
950 | "id": 136,
951 | "name": "沙鹿區",
952 | "latitude": 24.233301,
953 | "longitude": 120.566322,
954 | "zipCode": 433
955 | }, {
956 | "sort": 15,
957 | "id": 137,
958 | "name": "龍井區",
959 | "latitude": 24.19275,
960 | "longitude": 120.545792,
961 | "zipCode": 434
962 | }, {
963 | "sort": 20,
964 | "id": 138,
965 | "name": "梧棲區",
966 | "latitude": 24.254882,
967 | "longitude": 120.531706,
968 | "zipCode": 435
969 | }, {
970 | "sort": 19,
971 | "id": 139,
972 | "name": "清水區",
973 | "latitude": 24.268326,
974 | "longitude": 120.559857,
975 | "zipCode": 436
976 | }, {
977 | "sort": 24,
978 | "id": 140,
979 | "name": "大甲區",
980 | "latitude": 24.349176,
981 | "longitude": 120.622522,
982 | "zipCode": 437
983 | }, {
984 | "sort": 27,
985 | "id": 141,
986 | "name": "外埔區",
987 | "latitude": 24.332046,
988 | "longitude": 120.654291,
989 | "zipCode": 438
990 | }, {
991 | "sort": 28,
992 | "id": 142,
993 | "name": "大安區",
994 | "latitude": 24.346256,
995 | "longitude": 120.58658,
996 | "zipCode": 439
997 | }]
998 | }, {
999 | "sort": 7,
1000 | "id": "0012",
1001 | "name": "彰化縣",
1002 | "districts": [{
1003 | "sort": 1,
1004 | "id": 143,
1005 | "name": "彰化市",
1006 | "latitude": 24.080901,
1007 | "longitude": 120.542377,
1008 | "zipCode": 500
1009 | }, {
1010 | "sort": 12,
1011 | "id": 144,
1012 | "name": "芬園鄉",
1013 | "latitude": 24.013657,
1014 | "longitude": 120.629031,
1015 | "zipCode": 502
1016 | }, {
1017 | "sort": 5,
1018 | "id": 145,
1019 | "name": "花壇鄉",
1020 | "latitude": 24.029683,
1021 | "longitude": 120.538285,
1022 | "zipCode": 503
1023 | }, {
1024 | "sort": 15,
1025 | "id": 146,
1026 | "name": "秀水鄉",
1027 | "latitude": 24.035407,
1028 | "longitude": 120.502953,
1029 | "zipCode": 504
1030 | }, {
1031 | "sort": 11,
1032 | "id": 147,
1033 | "name": "鹿港鎮",
1034 | "latitude": 24.057363,
1035 | "longitude": 120.435093,
1036 | "zipCode": 505
1037 | }, {
1038 | "sort": 17,
1039 | "id": 148,
1040 | "name": "福興鄉",
1041 | "latitude": 24.047921,
1042 | "longitude": 120.44387,
1043 | "zipCode": 506
1044 | }, {
1045 | "sort": 18,
1046 | "id": 149,
1047 | "name": "線西鄉",
1048 | "latitude": 24.130584,
1049 | "longitude": 120.470523,
1050 | "zipCode": 507
1051 | }, {
1052 | "sort": 2,
1053 | "id": 150,
1054 | "name": "和美鎮",
1055 | "latitude": 24.10858,
1056 | "longitude": 120.494232,
1057 | "zipCode": 508
1058 | }, {
1059 | "sort": 7,
1060 | "id": 151,
1061 | "name": "伸港鄉",
1062 | "latitude": 24.159794,
1063 | "longitude": 120.486223,
1064 | "zipCode": 509
1065 | }, {
1066 | "sort": 3,
1067 | "id": 152,
1068 | "name": "員林市",
1069 | "latitude": 23.959022,
1070 | "longitude": 120.574291,
1071 | "zipCode": 510
1072 | }, {
1073 | "sort": 16,
1074 | "id": 153,
1075 | "name": "社頭鄉",
1076 | "latitude": 23.89685,
1077 | "longitude": 120.58583,
1078 | "zipCode": 511
1079 | }, {
1080 | "sort": 26,
1081 | "id": 154,
1082 | "name": "永靖鄉",
1083 | "latitude": 23.924641,
1084 | "longitude": 120.547632,
1085 | "zipCode": 512
1086 | }, {
1087 | "sort": 13,
1088 | "id": 155,
1089 | "name": "埔心鄉",
1090 | "latitude": 23.953105,
1091 | "longitude": 120.543484,
1092 | "zipCode": 513
1093 | }, {
1094 | "sort": 4,
1095 | "id": 156,
1096 | "name": "溪湖鎮",
1097 | "latitude": 23.966418,
1098 | "longitude": 120.483696,
1099 | "zipCode": 514
1100 | }, {
1101 | "sort": 21,
1102 | "id": 157,
1103 | "name": "大村鄉",
1104 | "latitude": 23.993524,
1105 | "longitude": 120.54717,
1106 | "zipCode": 515
1107 | }, {
1108 | "sort": 8,
1109 | "id": 158,
1110 | "name": "埔鹽鄉",
1111 | "latitude": 24.000616,
1112 | "longitude": 120.463701,
1113 | "zipCode": 516
1114 | }, {
1115 | "sort": 19,
1116 | "id": 159,
1117 | "name": "田中鎮",
1118 | "latitude": 23.86159,
1119 | "longitude": 120.580979,
1120 | "zipCode": 520
1121 | }, {
1122 | "sort": 6,
1123 | "id": 160,
1124 | "name": "北斗鎮",
1125 | "latitude": 23.871429,
1126 | "longitude": 120.521805,
1127 | "zipCode": 521
1128 | }, {
1129 | "sort": 10,
1130 | "id": 161,
1131 | "name": "田尾鄉",
1132 | "latitude": 23.892169,
1133 | "longitude": 120.525802,
1134 | "zipCode": 522
1135 | }, {
1136 | "sort": 14,
1137 | "id": 162,
1138 | "name": "埤頭鄉",
1139 | "latitude": 23.891607,
1140 | "longitude": 120.462116,
1141 | "zipCode": 523
1142 | }, {
1143 | "sort": 22,
1144 | "id": 163,
1145 | "name": "溪州鄉",
1146 | "latitude": 23.851542,
1147 | "longitude": 120.499081,
1148 | "zipCode": 524
1149 | }, {
1150 | "sort": 24,
1151 | "id": 164,
1152 | "name": "竹塘鄉",
1153 | "latitude": 23.860570907592773,
1154 | "longitude": 120.42780303955078,
1155 | "zipCode": 525
1156 | }, {
1157 | "sort": 9,
1158 | "id": 165,
1159 | "name": "二林鎮",
1160 | "latitude": 23.899946212768555,
1161 | "longitude": 120.37445068359375,
1162 | "zipCode": 526
1163 | }, {
1164 | "sort": 23,
1165 | "id": 166,
1166 | "name": "大城鄉",
1167 | "latitude": 23.852251,
1168 | "longitude": 120.320908,
1169 | "zipCode": 527
1170 | }, {
1171 | "sort": 20,
1172 | "id": 167,
1173 | "name": "芳苑鄉",
1174 | "latitude": 23.924399,
1175 | "longitude": 120.320415,
1176 | "zipCode": 528
1177 | }, {
1178 | "sort": 25,
1179 | "id": 168,
1180 | "name": "二水鄉",
1181 | "latitude": 23.80667,
1182 | "longitude": 120.619045,
1183 | "zipCode": 530
1184 | }]
1185 | }, {
1186 | "sort": 13,
1187 | "id": "0013",
1188 | "name": "南投縣",
1189 | "districts": [{
1190 | "sort": 2,
1191 | "id": 169,
1192 | "name": "南投市",
1193 | "latitude": 23.911524,
1194 | "longitude": 120.687384,
1195 | "zipCode": 540
1196 | }, {
1197 | "sort": 6,
1198 | "id": 170,
1199 | "name": "中寮鄉",
1200 | "latitude": 23.879055,
1201 | "longitude": 120.765961,
1202 | "zipCode": 541
1203 | }, {
1204 | "sort": 1,
1205 | "id": 171,
1206 | "name": "草屯鎮",
1207 | "latitude": 23.973619,
1208 | "longitude": 120.680545,
1209 | "zipCode": 542
1210 | }, {
1211 | "sort": 5,
1212 | "id": 172,
1213 | "name": "國姓鄉",
1214 | "latitude": 24.039927,
1215 | "longitude": 120.857465,
1216 | "zipCode": 544
1217 | }, {
1218 | "sort": 3,
1219 | "id": 173,
1220 | "name": "埔里鎮",
1221 | "latitude": 23.966551,
1222 | "longitude": 120.969219,
1223 | "zipCode": 545
1224 | }, {
1225 | "sort": 12,
1226 | "id": 174,
1227 | "name": "仁愛鄉",
1228 | "latitude": 24.021484,
1229 | "longitude": 121.132052,
1230 | "zipCode": 546
1231 | }, {
1232 | "sort": 4,
1233 | "id": 175,
1234 | "name": "名間鄉",
1235 | "latitude": 23.838307,
1236 | "longitude": 120.702867,
1237 | "zipCode": 551
1238 | }, {
1239 | "sort": 11,
1240 | "id": 176,
1241 | "name": "集集鎮",
1242 | "latitude": 23.828338623046875,
1243 | "longitude": 120.78648376464844,
1244 | "zipCode": 552
1245 | }, {
1246 | "sort": 8,
1247 | "id": 177,
1248 | "name": "水里鄉",
1249 | "latitude": 23.811309,
1250 | "longitude": 120.856079,
1251 | "zipCode": 553
1252 | }, {
1253 | "sort": 9,
1254 | "id": 178,
1255 | "name": "魚池鄉",
1256 | "latitude": 23.895644,
1257 | "longitude": 120.935738,
1258 | "zipCode": 555
1259 | }, {
1260 | "sort": 13,
1261 | "id": 179,
1262 | "name": "信義鄉",
1263 | "latitude": 23.696769,
1264 | "longitude": 120.854492,
1265 | "zipCode": 556
1266 | }, {
1267 | "sort": 7,
1268 | "id": 180,
1269 | "name": "竹山鎮",
1270 | "latitude": 23.757601,
1271 | "longitude": 120.67146,
1272 | "zipCode": 557
1273 | }, {
1274 | "sort": 10,
1275 | "id": 181,
1276 | "name": "鹿谷鄉",
1277 | "latitude": 23.745891571044922,
1278 | "longitude": 120.75336456298828,
1279 | "zipCode": 558
1280 | }]
1281 | }, {
1282 | "sort": 16,
1283 | "id": "0014",
1284 | "name": "嘉義市",
1285 | "districts": [{
1286 | "sort": 2,
1287 | "id": 183,
1288 | "name": "東區",
1289 | "latitude": 23.478709,
1290 | "longitude": 120.453641,
1291 | "zipCode": 600
1292 | }, {
1293 | "sort": 1,
1294 | "id": 184,
1295 | "name": "西區",
1296 | "latitude": 23.464708,
1297 | "longitude": 120.435383,
1298 | "zipCode": 600
1299 | }]
1300 | }, {
1301 | "sort": 17,
1302 | "id": "0015",
1303 | "name": "嘉義縣",
1304 | "districts": [{
1305 | "sort": 6,
1306 | "id": 185,
1307 | "name": "番路鄉",
1308 | "latitude": 23.4644832611084,
1309 | "longitude": 120.55436706542969,
1310 | "zipCode": 602
1311 | }, {
1312 | "sort": 17,
1313 | "id": 186,
1314 | "name": "梅山鄉",
1315 | "latitude": 23.585241,
1316 | "longitude": 120.555702,
1317 | "zipCode": 603
1318 | }, {
1319 | "sort": 7,
1320 | "id": 187,
1321 | "name": "竹崎鄉",
1322 | "latitude": 23.523075,
1323 | "longitude": 120.551385,
1324 | "zipCode": 604
1325 | }, {
1326 | "sort": 18,
1327 | "id": 188,
1328 | "name": "阿里山鄉",
1329 | "latitude": 23.471179,
1330 | "longitude": 120.713498,
1331 | "zipCode": 605
1332 | }, {
1333 | "sort": 4,
1334 | "id": 189,
1335 | "name": "中埔鄉",
1336 | "latitude": 23.425199,
1337 | "longitude": 120.522818,
1338 | "zipCode": 606
1339 | }, {
1340 | "sort": 11,
1341 | "id": 190,
1342 | "name": "大埔鄉",
1343 | "latitude": 23.294708,
1344 | "longitude": 120.593526,
1345 | "zipCode": 607
1346 | }, {
1347 | "sort": 3,
1348 | "id": 191,
1349 | "name": "水上鄉",
1350 | "latitude": 23.428464,
1351 | "longitude": 120.398065,
1352 | "zipCode": 608
1353 | }, {
1354 | "sort": 15,
1355 | "id": 192,
1356 | "name": "鹿草鄉",
1357 | "latitude": 23.411381,
1358 | "longitude": 120.308418,
1359 | "zipCode": 611
1360 | }, {
1361 | "sort": 1,
1362 | "id": 193,
1363 | "name": "太保市",
1364 | "latitude": 23.458974,
1365 | "longitude": 120.332275,
1366 | "zipCode": 612
1367 | }, {
1368 | "sort": 5,
1369 | "id": 194,
1370 | "name": "朴子市",
1371 | "latitude": 23.457589,
1372 | "longitude": 120.245938,
1373 | "zipCode": 613
1374 | }, {
1375 | "sort": 16,
1376 | "id": 195,
1377 | "name": "東石鄉",
1378 | "latitude": 23.458794,
1379 | "longitude": 120.153831,
1380 | "zipCode": 614
1381 | }, {
1382 | "sort": 13,
1383 | "id": 196,
1384 | "name": "六腳鄉",
1385 | "latitude": 23.494059,
1386 | "longitude": 120.290827,
1387 | "zipCode": 615
1388 | }, {
1389 | "sort": 10,
1390 | "id": 197,
1391 | "name": "新港鄉",
1392 | "latitude": 23.551973342895508,
1393 | "longitude": 120.34786224365234,
1394 | "zipCode": 616
1395 | }, {
1396 | "sort": 2,
1397 | "id": 198,
1398 | "name": "民雄鄉",
1399 | "latitude": 23.551623,
1400 | "longitude": 120.428305,
1401 | "zipCode": 621
1402 | }, {
1403 | "sort": 8,
1404 | "id": 199,
1405 | "name": "大林鎮",
1406 | "latitude": 23.604001,
1407 | "longitude": 120.47128,
1408 | "zipCode": 622
1409 | }, {
1410 | "sort": 12,
1411 | "id": 200,
1412 | "name": "溪口鄉",
1413 | "latitude": 23.602466583251953,
1414 | "longitude": 120.3922119140625,
1415 | "zipCode": 623
1416 | }, {
1417 | "sort": 14,
1418 | "id": 201,
1419 | "name": "義竹鄉",
1420 | "latitude": 23.33622932434082,
1421 | "longitude": 120.24321746826172,
1422 | "zipCode": 624
1423 | }, {
1424 | "sort": 9,
1425 | "id": 202,
1426 | "name": "布袋鎮",
1427 | "latitude": 23.377971649169922,
1428 | "longitude": 120.16696166992187,
1429 | "zipCode": 625
1430 | }]
1431 | }, {
1432 | "sort": 14,
1433 | "id": "0016",
1434 | "name": "雲林縣",
1435 | "districts": [{
1436 | "sort": 3,
1437 | "id": 203,
1438 | "name": "斗南鎮",
1439 | "latitude": 23.680149,
1440 | "longitude": 120.477588,
1441 | "zipCode": 630
1442 | }, {
1443 | "sort": 10,
1444 | "id": 204,
1445 | "name": "大埤鄉",
1446 | "latitude": 23.646097183227539,
1447 | "longitude": 120.43142700195312,
1448 | "zipCode": 631
1449 | }, {
1450 | "sort": 2,
1451 | "id": 205,
1452 | "name": "虎尾鎮",
1453 | "latitude": 23.708282470703125,
1454 | "longitude": 120.44518280029297,
1455 | "zipCode": 632
1456 | }, {
1457 | "sort": 7,
1458 | "id": 206,
1459 | "name": "土庫鎮",
1460 | "latitude": 23.68206,
1461 | "longitude": 120.389664,
1462 | "zipCode": 633
1463 | }, {
1464 | "sort": 11,
1465 | "id": 207,
1466 | "name": "褒忠鄉",
1467 | "latitude": 23.691022,
1468 | "longitude": 120.303851,
1469 | "zipCode": 634
1470 | }, {
1471 | "sort": 17,
1472 | "id": 208,
1473 | "name": "東勢鄉",
1474 | "latitude": 23.674797058105469,
1475 | "longitude": 120.25266265869141,
1476 | "zipCode": 635
1477 | }, {
1478 | "sort": 18,
1479 | "id": 209,
1480 | "name": "臺西鄉",
1481 | "latitude": 23.700391,
1482 | "longitude": 120.195788,
1483 | "zipCode": 636
1484 | }, {
1485 | "sort": 8,
1486 | "id": 210,
1487 | "name": "崙背鄉",
1488 | "latitude": 23.762003,
1489 | "longitude": 120.359175,
1490 | "zipCode": 637
1491 | }, {
1492 | "sort": 16,
1493 | "id": 211,
1494 | "name": "麥寮鄉",
1495 | "latitude": 23.753825,
1496 | "longitude": 120.251624,
1497 | "zipCode": 638
1498 | }, {
1499 | "sort": 1,
1500 | "id": 212,
1501 | "name": "斗六市",
1502 | "latitude": 23.696962356567383,
1503 | "longitude": 120.52693176269531,
1504 | "zipCode": 640
1505 | }, {
1506 | "sort": 6,
1507 | "id": 213,
1508 | "name": "林內鄉",
1509 | "latitude": 23.756137847900391,
1510 | "longitude": 120.61290740966797,
1511 | "zipCode": 643
1512 | }, {
1513 | "sort": 4,
1514 | "id": 214,
1515 | "name": "古坑鄉",
1516 | "latitude": 23.642662048339844,
1517 | "longitude": 120.56203460693359,
1518 | "zipCode": 646
1519 | }, {
1520 | "sort": 5,
1521 | "id": 215,
1522 | "name": "莿桐鄉",
1523 | "latitude": 23.760932922363281,
1524 | "longitude": 120.50235748291016,
1525 | "zipCode": 647
1526 | }, {
1527 | "sort": 12,
1528 | "id": 216,
1529 | "name": "西螺鎮",
1530 | "latitude": 23.797986,
1531 | "longitude": 120.465388,
1532 | "zipCode": 648
1533 | }, {
1534 | "sort": 13,
1535 | "id": 217,
1536 | "name": "二崙鄉",
1537 | "latitude": 23.7711238861084,
1538 | "longitude": 120.41289520263672,
1539 | "zipCode": 649
1540 | }, {
1541 | "sort": 14,
1542 | "id": 218,
1543 | "name": "北港鎮",
1544 | "latitude": 23.576008,
1545 | "longitude": 120.302551,
1546 | "zipCode": 651
1547 | }, {
1548 | "sort": 19,
1549 | "id": 219,
1550 | "name": "水林鄉",
1551 | "latitude": 23.572786,
1552 | "longitude": 120.24591,
1553 | "zipCode": 652
1554 | }, {
1555 | "sort": 20,
1556 | "id": 220,
1557 | "name": "口湖鄉",
1558 | "latitude": 23.582663,
1559 | "longitude": 120.185823,
1560 | "zipCode": 653
1561 | }, {
1562 | "sort": 15,
1563 | "id": 221,
1564 | "name": "四湖鄉",
1565 | "latitude": 23.638101577758789,
1566 | "longitude": 120.22430419921875,
1567 | "zipCode": 654
1568 | }, {
1569 | "sort": 9,
1570 | "id": 222,
1571 | "name": "元長鄉",
1572 | "latitude": 23.649711608886719,
1573 | "longitude": 120.31491088867187,
1574 | "zipCode": 655
1575 | }]
1576 | }, {
1577 | "sort": 8,
1578 | "id": "0017",
1579 | "name": "臺南市",
1580 | "districts": [{
1581 | "sort": 6,
1582 | "id": 224,
1583 | "name": "中西區",
1584 | "latitude": 22.992254,
1585 | "longitude": 120.205687,
1586 | "zipCode": 700
1587 | }, {
1588 | "sort": 2,
1589 | "id": 225,
1590 | "name": "東區",
1591 | "latitude": 22.980206,
1592 | "longitude": 120.224112,
1593 | "zipCode": 701
1594 | }, {
1595 | "sort": 7,
1596 | "id": 226,
1597 | "name": "南區",
1598 | "latitude": 22.961136,
1599 | "longitude": 120.188408,
1600 | "zipCode": 702
1601 | }, {
1602 | "sort": 3,
1603 | "id": 228,
1604 | "name": "北區",
1605 | "latitude": 22.999632,
1606 | "longitude": 120.202923,
1607 | "zipCode": 704
1608 | }, {
1609 | "sort": 4,
1610 | "id": 229,
1611 | "name": "安平區",
1612 | "latitude": 22.994582,
1613 | "longitude": 120.16892,
1614 | "zipCode": 708
1615 | }, {
1616 | "sort": 5,
1617 | "id": 230,
1618 | "name": "安南區",
1619 | "latitude": 23.047346115112305,
1620 | "longitude": 120.18478393554687,
1621 | "zipCode": 709
1622 | }, {
1623 | "sort": 1,
1624 | "id": 231,
1625 | "name": "永康區",
1626 | "latitude": 23.026357,
1627 | "longitude": 120.256959,
1628 | "zipCode": 710
1629 | }, {
1630 | "sort": 10,
1631 | "id": 232,
1632 | "name": "歸仁區",
1633 | "latitude": 22.967208862304688,
1634 | "longitude": 120.2939453125,
1635 | "zipCode": 711
1636 | }, {
1637 | "sort": 13,
1638 | "id": 233,
1639 | "name": "新化區",
1640 | "latitude": 23.038564,
1641 | "longitude": 120.310806,
1642 | "zipCode": 712
1643 | }, {
1644 | "sort": 31,
1645 | "id": 234,
1646 | "name": "左鎮區",
1647 | "latitude": 23.056668,
1648 | "longitude": 120.408708,
1649 | "zipCode": 713
1650 | }, {
1651 | "sort": 23,
1652 | "id": 235,
1653 | "name": "玉井區",
1654 | "latitude": 23.123699188232422,
1655 | "longitude": 120.46015930175781,
1656 | "zipCode": 714
1657 | }, {
1658 | "sort": 29,
1659 | "id": 236,
1660 | "name": "楠西區",
1661 | "latitude": 23.174107,
1662 | "longitude": 120.486327,
1663 | "zipCode": 715
1664 | }, {
1665 | "sort": 36,
1666 | "id": 237,
1667 | "name": "南化區",
1668 | "latitude": 23.04303,
1669 | "longitude": 120.47778,
1670 | "zipCode": 716
1671 | }, {
1672 | "sort": 8,
1673 | "id": 238,
1674 | "name": "仁德區",
1675 | "latitude": 22.972439,
1676 | "longitude": 120.251593,
1677 | "zipCode": 717
1678 | }, {
1679 | "sort": 15,
1680 | "id": 239,
1681 | "name": "關廟區",
1682 | "latitude": 22.962955474853516,
1683 | "longitude": 120.32766723632812,
1684 | "zipCode": 718
1685 | }, {
1686 | "sort": 35,
1687 | "id": 240,
1688 | "name": "龍崎區",
1689 | "latitude": 22.963138580322266,
1690 | "longitude": 120.36505889892578,
1691 | "zipCode": 719
1692 | }, {
1693 | "sort": 25,
1694 | "id": 241,
1695 | "name": "官田區",
1696 | "latitude": 23.193138,
1697 | "longitude": 120.315505,
1698 | "zipCode": 720
1699 | }, {
1700 | "sort": 21,
1701 | "id": 242,
1702 | "name": "麻豆區",
1703 | "latitude": 23.184907913208008,
1704 | "longitude": 120.25839233398437,
1705 | "zipCode": 721
1706 | }, {
1707 | "sort": 9,
1708 | "id": 243,
1709 | "name": "佳里區",
1710 | "latitude": 23.165273666381836,
1711 | "longitude": 120.17718505859375,
1712 | "zipCode": 722
1713 | }, {
1714 | "sort": 17,
1715 | "id": 244,
1716 | "name": "西港區",
1717 | "latitude": 23.123,
1718 | "longitude": 120.203432,
1719 | "zipCode": 723
1720 | }, {
1721 | "sort": 19,
1722 | "id": 245,
1723 | "name": "七股區",
1724 | "latitude": 23.140386,
1725 | "longitude": 120.139245,
1726 | "zipCode": 724
1727 | }, {
1728 | "sort": 20,
1729 | "id": 246,
1730 | "name": "將軍區",
1731 | "latitude": 23.199047,
1732 | "longitude": 120.158827,
1733 | "zipCode": 725
1734 | }, {
1735 | "sort": 18,
1736 | "id": 247,
1737 | "name": "學甲區",
1738 | "latitude": 23.230529,
1739 | "longitude": 120.182235,
1740 | "zipCode": 726
1741 | }, {
1742 | "sort": 37,
1743 | "id": 248,
1744 | "name": "北門區",
1745 | "latitude": 23.267707,
1746 | "longitude": 120.125446,
1747 | "zipCode": 727
1748 | }, {
1749 | "sort": 12,
1750 | "id": 249,
1751 | "name": "新營區",
1752 | "latitude": 23.310311,
1753 | "longitude": 120.316701,
1754 | "zipCode": 730
1755 | }, {
1756 | "sort": 32,
1757 | "id": 250,
1758 | "name": "後壁區",
1759 | "latitude": 23.366111,
1760 | "longitude": 120.362046,
1761 | "zipCode": 731
1762 | }, {
1763 | "sort": 14,
1764 | "id": 251,
1765 | "name": "白河區",
1766 | "latitude": 23.351278305053711,
1767 | "longitude": 120.41576385498047,
1768 | "zipCode": 732
1769 | }, {
1770 | "sort": 26,
1771 | "id": 252,
1772 | "name": "東山區",
1773 | "latitude": 23.326181411743164,
1774 | "longitude": 120.404541015625,
1775 | "zipCode": 733
1776 | }, {
1777 | "sort": 24,
1778 | "id": 253,
1779 | "name": "六甲區",
1780 | "latitude": 23.231821,
1781 | "longitude": 120.347521,
1782 | "zipCode": 734
1783 | }, {
1784 | "sort": 34,
1785 | "id": 254,
1786 | "name": "下營區",
1787 | "latitude": 23.235445022583008,
1788 | "longitude": 120.26441192626953,
1789 | "zipCode": 735
1790 | }, {
1791 | "sort": 33,
1792 | "id": 255,
1793 | "name": "柳營區",
1794 | "latitude": 23.278445,
1795 | "longitude": 120.311628,
1796 | "zipCode": 736
1797 | }, {
1798 | "sort": 28,
1799 | "id": 256,
1800 | "name": "鹽水區",
1801 | "latitude": 23.319946,
1802 | "longitude": 120.266101,
1803 | "zipCode": 737
1804 | }, {
1805 | "sort": 11,
1806 | "id": 257,
1807 | "name": "善化區",
1808 | "latitude": 23.132236480712891,
1809 | "longitude": 120.29679870605469,
1810 | "zipCode": 741
1811 | }, {
1812 | "sort": 27,
1813 | "id": 258,
1814 | "name": "大內區",
1815 | "latitude": 23.118986129760742,
1816 | "longitude": 120.35694122314453,
1817 | "zipCode": 742
1818 | }, {
1819 | "sort": 30,
1820 | "id": 259,
1821 | "name": "山上區",
1822 | "latitude": 23.104114,
1823 | "longitude": 120.35261,
1824 | "zipCode": 743
1825 | }, {
1826 | "sort": 16,
1827 | "id": 260,
1828 | "name": "新市區",
1829 | "latitude": 23.078987,
1830 | "longitude": 120.294989,
1831 | "zipCode": 744
1832 | }, {
1833 | "sort": 22,
1834 | "id": 261,
1835 | "name": "安定區",
1836 | "latitude": 23.121555,
1837 | "longitude": 120.237008,
1838 | "zipCode": 745
1839 | }]
1840 | }, {
1841 | "sort": 9,
1842 | "id": "0019",
1843 | "name": "高雄市",
1844 | "districts": [{
1845 | "sort": 11,
1846 | "id": 262,
1847 | "name": "新興區",
1848 | "latitude": 22.631216049194336,
1849 | "longitude": 120.30988311767578,
1850 | "zipCode": 800
1851 | }, {
1852 | "sort": 3,
1853 | "id": 263,
1854 | "name": "前金區",
1855 | "latitude": 22.627466201782227,
1856 | "longitude": 120.29415130615234,
1857 | "zipCode": 801
1858 | }, {
1859 | "sort": 5,
1860 | "id": 264,
1861 | "name": "苓雅區",
1862 | "latitude": 22.621700286865234,
1863 | "longitude": 120.31215667724609,
1864 | "zipCode": 802
1865 | }, {
1866 | "sort": 19,
1867 | "id": 265,
1868 | "name": "鹽埕區",
1869 | "latitude": 22.624715805053711,
1870 | "longitude": 120.28668975830078,
1871 | "zipCode": 803
1872 | }, {
1873 | "sort": 4,
1874 | "id": 266,
1875 | "name": "鼓山區",
1876 | "latitude": 22.636890411376953,
1877 | "longitude": 120.28108215332031,
1878 | "zipCode": 804
1879 | }, {
1880 | "sort": 34,
1881 | "id": 267,
1882 | "name": "旗津區",
1883 | "latitude": 22.59013557434082,
1884 | "longitude": 120.28469085693359,
1885 | "zipCode": 805
1886 | }, {
1887 | "sort": 9,
1888 | "id": 268,
1889 | "name": "前鎮區",
1890 | "latitude": 22.586566925048828,
1891 | "longitude": 120.31836700439453,
1892 | "zipCode": 806
1893 | }, {
1894 | "sort": 1,
1895 | "id": 269,
1896 | "name": "三民區",
1897 | "latitude": 22.647648,
1898 | "longitude": 120.299631,
1899 | "zipCode": 807
1900 | }, {
1901 | "sort": 8,
1902 | "id": 270,
1903 | "name": "楠梓區",
1904 | "latitude": 22.728305816650391,
1905 | "longitude": 120.32625579833984,
1906 | "zipCode": 811
1907 | }, {
1908 | "sort": 14,
1909 | "id": 271,
1910 | "name": "小港區",
1911 | "latitude": 22.56535530090332,
1912 | "longitude": 120.33805084228516,
1913 | "zipCode": 812
1914 | }, {
1915 | "sort": 2,
1916 | "id": 272,
1917 | "name": "左營區",
1918 | "latitude": 22.689901351928711,
1919 | "longitude": 120.29508209228516,
1920 | "zipCode": 813
1921 | }, {
1922 | "sort": 10,
1923 | "id": 275,
1924 | "name": "仁武區",
1925 | "latitude": 22.70094108581543,
1926 | "longitude": 120.34799194335938,
1927 | "zipCode": 814
1928 | }, {
1929 | "sort": 23,
1930 | "id": 276,
1931 | "name": "大社區",
1932 | "latitude": 22.730141,
1933 | "longitude": 120.346601,
1934 | "zipCode": 815
1935 | }, {
1936 | "sort": 6,
1937 | "id": 277,
1938 | "name": "岡山區",
1939 | "latitude": 22.797298431396484,
1940 | "longitude": 120.29496765136719,
1941 | "zipCode": 820
1942 | }, {
1943 | "sort": 15,
1944 | "id": 278,
1945 | "name": "路竹區",
1946 | "latitude": 22.854951858520508,
1947 | "longitude": 120.25933837890625,
1948 | "zipCode": 821
1949 | }, {
1950 | "sort": 18,
1951 | "id": 279,
1952 | "name": "阿蓮區",
1953 | "latitude": 22.883199,
1954 | "longitude": 120.327485,
1955 | "zipCode": 822
1956 | }, {
1957 | "sort": 30,
1958 | "id": 280,
1959 | "name": "田寮區",
1960 | "latitude": 22.869768142700195,
1961 | "longitude": 120.35950469970703,
1962 | "zipCode": 823
1963 | }, {
1964 | "sort": 17,
1965 | "id": 281,
1966 | "name": "燕巢區",
1967 | "latitude": 22.788061,
1968 | "longitude": 120.362001,
1969 | "zipCode": 824
1970 | }, {
1971 | "sort": 16,
1972 | "id": 282,
1973 | "name": "橋頭區",
1974 | "latitude": 22.757553100585938,
1975 | "longitude": 120.30586242675781,
1976 | "zipCode": 825
1977 | }, {
1978 | "sort": 20,
1979 | "id": 283,
1980 | "name": "梓官區",
1981 | "latitude": 22.760593414306641,
1982 | "longitude": 120.26719665527344,
1983 | "zipCode": 826
1984 | }, {
1985 | "sort": 28,
1986 | "id": 284,
1987 | "name": "彌陀區",
1988 | "latitude": 22.781623840332031,
1989 | "longitude": 120.25070190429688,
1990 | "zipCode": 827
1991 | }, {
1992 | "sort": 29,
1993 | "id": 285,
1994 | "name": "永安區",
1995 | "latitude": 22.818523,
1996 | "longitude": 120.22437,
1997 | "zipCode": 828
1998 | }, {
1999 | "sort": 22,
2000 | "id": 286,
2001 | "name": "湖內區",
2002 | "latitude": 22.908191680908203,
2003 | "longitude": 120.21178436279297,
2004 | "zipCode": 829
2005 | }, {
2006 | "sort": 7,
2007 | "id": 287,
2008 | "name": "鳳山區",
2009 | "latitude": 22.627087,
2010 | "longitude": 120.362609,
2011 | "zipCode": 830
2012 | }, {
2013 | "sort": 13,
2014 | "id": 288,
2015 | "name": "大寮區",
2016 | "latitude": 22.605461120605469,
2017 | "longitude": 120.39573669433594,
2018 | "zipCode": 831
2019 | }, {
2020 | "sort": 25,
2021 | "id": 289,
2022 | "name": "林園區",
2023 | "latitude": 22.507526397705078,
2024 | "longitude": 120.39456939697266,
2025 | "zipCode": 832
2026 | }, {
2027 | "sort": 12,
2028 | "id": 290,
2029 | "name": "鳥松區",
2030 | "latitude": 22.659933,
2031 | "longitude": 120.364388,
2032 | "zipCode": 833
2033 | }, {
2034 | "sort": 21,
2035 | "id": 291,
2036 | "name": "大樹區",
2037 | "latitude": 22.693374,
2038 | "longitude": 120.433101,
2039 | "zipCode": 840
2040 | }, {
2041 | "sort": 26,
2042 | "id": 292,
2043 | "name": "旗山區",
2044 | "latitude": 22.888666,
2045 | "longitude": 120.48369,
2046 | "zipCode": 842
2047 | }, {
2048 | "sort": 24,
2049 | "id": 293,
2050 | "name": "美濃區",
2051 | "latitude": 22.894803,
2052 | "longitude": 120.54187,
2053 | "zipCode": 843
2054 | }, {
2055 | "sort": 32,
2056 | "id": 294,
2057 | "name": "六龜區",
2058 | "latitude": 22.998441696166992,
2059 | "longitude": 120.63278198242187,
2060 | "zipCode": 844
2061 | }, {
2062 | "sort": 33,
2063 | "id": 295,
2064 | "name": "內門區",
2065 | "latitude": 22.942862,
2066 | "longitude": 120.462494,
2067 | "zipCode": 845
2068 | }, {
2069 | "sort": 31,
2070 | "id": 296,
2071 | "name": "杉林區",
2072 | "latitude": 22.971721649169922,
2073 | "longitude": 120.54021453857422,
2074 | "zipCode": 846
2075 | }, {
2076 | "sort": 35,
2077 | "id": 297,
2078 | "name": "甲仙區",
2079 | "latitude": 23.084026,
2080 | "longitude": 120.587723,
2081 | "zipCode": 847
2082 | }, {
2083 | "sort": 36,
2084 | "id": 298,
2085 | "name": "桃源區",
2086 | "latitude": 23.15944,
2087 | "longitude": 120.764009,
2088 | "zipCode": 848
2089 | }, {
2090 | "sort": 37,
2091 | "id": 299,
2092 | "name": "那瑪夏區",
2093 | "latitude": 23.276944,
2094 | "longitude": 120.720134,
2095 | "zipCode": 849
2096 | }, {
2097 | "sort": 38,
2098 | "id": 300,
2099 | "name": "茂林區",
2100 | "latitude": 22.886226,
2101 | "longitude": 120.663361,
2102 | "zipCode": 851
2103 | }, {
2104 | "sort": 27,
2105 | "id": 301,
2106 | "name": "茄萣區",
2107 | "latitude": 22.906369,
2108 | "longitude": 120.18262,
2109 | "zipCode": 852
2110 | }]
2111 | }, {
2112 | "sort": 21,
2113 | "id": "0022",
2114 | "name": "澎湖縣",
2115 | "districts": [{
2116 | "sort": 1,
2117 | "id": 302,
2118 | "name": "馬公市",
2119 | "latitude": 23.566022872924805,
2120 | "longitude": 119.57870483398437,
2121 | "zipCode": 880
2122 | }, {
2123 | "sort": 4,
2124 | "id": 303,
2125 | "name": "西嶼鄉",
2126 | "latitude": 23.60107421875,
2127 | "longitude": 119.50697326660156,
2128 | "zipCode": 881
2129 | }, {
2130 | "sort": 6,
2131 | "id": 304,
2132 | "name": "望安鄉",
2133 | "latitude": 23.360782,
2134 | "longitude": 119.500317,
2135 | "zipCode": 882
2136 | }, {
2137 | "sort": 5,
2138 | "id": 305,
2139 | "name": "七美鄉",
2140 | "latitude": 23.206803,
2141 | "longitude": 119.424513,
2142 | "zipCode": 883
2143 | }, {
2144 | "sort": 3,
2145 | "id": 306,
2146 | "name": "白沙鄉",
2147 | "latitude": 23.669251,
2148 | "longitude": 119.598642,
2149 | "zipCode": 884
2150 | }, {
2151 | "sort": 2,
2152 | "id": 307,
2153 | "name": "湖西鄉",
2154 | "latitude": 23.584063,
2155 | "longitude": 119.65244,
2156 | "zipCode": 885
2157 | }]
2158 | }, {
2159 | "sort": 20,
2160 | "id": "0023",
2161 | "name": "金門縣",
2162 | "districts": [{
2163 | "sort": 2,
2164 | "id": 308,
2165 | "name": "金沙鎮",
2166 | "latitude": 24.488874,
2167 | "longitude": 118.413145,
2168 | "zipCode": 890
2169 | }, {
2170 | "sort": 4,
2171 | "id": 309,
2172 | "name": "金湖鎮",
2173 | "latitude": 24.441369,
2174 | "longitude": 118.417027,
2175 | "zipCode": 891
2176 | }, {
2177 | "sort": 1,
2178 | "id": 310,
2179 | "name": "金寧鄉",
2180 | "latitude": 24.470692,
2181 | "longitude": 118.33129,
2182 | "zipCode": 892
2183 | }, {
2184 | "sort": 3,
2185 | "id": 311,
2186 | "name": "金城鎮",
2187 | "latitude": 24.432853,
2188 | "longitude": 118.320732,
2189 | "zipCode": 893
2190 | }, {
2191 | "sort": 5,
2192 | "id": 312,
2193 | "name": "烈嶼鄉",
2194 | "latitude": 24.429508,
2195 | "longitude": 118.244448,
2196 | "zipCode": 894
2197 | }, {
2198 | "sort": 6,
2199 | "id": 313,
2200 | "name": "烏坵鄉",
2201 | "latitude": 24.988705,
2202 | "longitude": 119.453302,
2203 | "zipCode": 896
2204 | }]
2205 | }, {
2206 | "sort": 10,
2207 | "id": "0024",
2208 | "name": "屏東縣",
2209 | "districts": [{
2210 | "sort": 1,
2211 | "id": 314,
2212 | "name": "屏東市",
2213 | "latitude": 22.662495,
2214 | "longitude": 120.491447,
2215 | "zipCode": 900
2216 | }, {
2217 | "sort": 24,
2218 | "id": 315,
2219 | "name": "三地門鄉",
2220 | "latitude": 22.71627,
2221 | "longitude": 120.65425,
2222 | "zipCode": 901
2223 | }, {
2224 | "sort": 27,
2225 | "id": 316,
2226 | "name": "霧臺鄉",
2227 | "latitude": 22.748991,
2228 | "longitude": 120.728457,
2229 | "zipCode": 902
2230 | }, {
2231 | "sort": 28,
2232 | "id": 317,
2233 | "name": "瑪家鄉",
2234 | "latitude": 22.708652496337891,
2235 | "longitude": 120.64945220947266,
2236 | "zipCode": 903
2237 | }, {
2238 | "sort": 10,
2239 | "id": 318,
2240 | "name": "九如鄉",
2241 | "latitude": 22.740428,
2242 | "longitude": 120.490546,
2243 | "zipCode": 904
2244 | }, {
2245 | "sort": 17,
2246 | "id": 319,
2247 | "name": "里港鄉",
2248 | "latitude": 22.779157,
2249 | "longitude": 120.494565,
2250 | "zipCode": 905
2251 | }, {
2252 | "sort": 11,
2253 | "id": 320,
2254 | "name": "高樹鄉",
2255 | "latitude": 22.826318,
2256 | "longitude": 120.600831,
2257 | "zipCode": 906
2258 | }, {
2259 | "sort": 12,
2260 | "id": 321,
2261 | "name": "鹽埔鄉",
2262 | "latitude": 22.754444,
2263 | "longitude": 120.572775,
2264 | "zipCode": 907
2265 | }, {
2266 | "sort": 4,
2267 | "id": 322,
2268 | "name": "長治鄉",
2269 | "latitude": 22.676537,
2270 | "longitude": 120.527195,
2271 | "zipCode": 908
2272 | }, {
2273 | "sort": 15,
2274 | "id": 323,
2275 | "name": "麟洛鄉",
2276 | "latitude": 22.650672912597656,
2277 | "longitude": 120.52730560302734,
2278 | "zipCode": 909
2279 | }, {
2280 | "sort": 16,
2281 | "id": 324,
2282 | "name": "竹田鄉",
2283 | "latitude": 22.584737777709961,
2284 | "longitude": 120.54399871826172,
2285 | "zipCode": 911
2286 | }, {
2287 | "sort": 3,
2288 | "id": 325,
2289 | "name": "內埔鄉",
2290 | "latitude": 22.612069,
2291 | "longitude": 120.566897,
2292 | "zipCode": 912
2293 | }, {
2294 | "sort": 6,
2295 | "id": 326,
2296 | "name": "萬丹鄉",
2297 | "latitude": 22.589397430419922,
2298 | "longitude": 120.48488616943359,
2299 | "zipCode": 913
2300 | }, {
2301 | "sort": 2,
2302 | "id": 327,
2303 | "name": "潮州鎮",
2304 | "latitude": 22.549924,
2305 | "longitude": 120.543057,
2306 | "zipCode": 920
2307 | }, {
2308 | "sort": 31,
2309 | "id": 328,
2310 | "name": "泰武鄉",
2311 | "latitude": 22.591978,
2312 | "longitude": 120.632026,
2313 | "zipCode": 921
2314 | }, {
2315 | "sort": 32,
2316 | "id": 329,
2317 | "name": "來義鄉",
2318 | "latitude": 22.526257,
2319 | "longitude": 120.631534,
2320 | "zipCode": 922
2321 | }, {
2322 | "sort": 20,
2323 | "id": 330,
2324 | "name": "萬巒鄉",
2325 | "latitude": 22.57265,
2326 | "longitude": 120.567818,
2327 | "zipCode": 923
2328 | }, {
2329 | "sort": 19,
2330 | "id": 331,
2331 | "name": "崁頂鄉",
2332 | "latitude": 22.514782,
2333 | "longitude": 120.514086,
2334 | "zipCode": 924
2335 | }, {
2336 | "sort": 18,
2337 | "id": 332,
2338 | "name": "新埤鄉",
2339 | "latitude": 22.470212,
2340 | "longitude": 120.54979,
2341 | "zipCode": 925
2342 | }, {
2343 | "sort": 21,
2344 | "id": 333,
2345 | "name": "南州鄉",
2346 | "latitude": 22.490486,
2347 | "longitude": 120.509825,
2348 | "zipCode": 926
2349 | }, {
2350 | "sort": 22,
2351 | "id": 334,
2352 | "name": "林邊鄉",
2353 | "latitude": 22.434911,
2354 | "longitude": 120.514305,
2355 | "zipCode": 927
2356 | }, {
2357 | "sort": 7,
2358 | "id": 335,
2359 | "name": "東港鎮",
2360 | "latitude": 22.466702,
2361 | "longitude": 120.45426,
2362 | "zipCode": 928
2363 | }, {
2364 | "sort": 33,
2365 | "id": 336,
2366 | "name": "琉球鄉",
2367 | "latitude": 22.348427,
2368 | "longitude": 120.382549,
2369 | "zipCode": 929
2370 | }, {
2371 | "sort": 13,
2372 | "id": 337,
2373 | "name": "佳冬鄉",
2374 | "latitude": 22.419303894042969,
2375 | "longitude": 120.55232238769531,
2376 | "zipCode": 931
2377 | }, {
2378 | "sort": 8,
2379 | "id": 338,
2380 | "name": "新園鄉",
2381 | "latitude": 22.54383,
2382 | "longitude": 120.461525,
2383 | "zipCode": 932
2384 | }, {
2385 | "sort": 5,
2386 | "id": 339,
2387 | "name": "枋寮鄉",
2388 | "latitude": 22.365588,
2389 | "longitude": 120.593476,
2390 | "zipCode": 940
2391 | }, {
2392 | "sort": 23,
2393 | "id": 340,
2394 | "name": "枋山鄉",
2395 | "latitude": 22.263758,
2396 | "longitude": 120.652287,
2397 | "zipCode": 941
2398 | }, {
2399 | "sort": 26,
2400 | "id": 341,
2401 | "name": "春日鄉",
2402 | "latitude": 22.370835,
2403 | "longitude": 120.629328,
2404 | "zipCode": 942
2405 | }, {
2406 | "sort": 29,
2407 | "id": 342,
2408 | "name": "獅子鄉",
2409 | "latitude": 22.201772,
2410 | "longitude": 120.705445,
2411 | "zipCode": 943
2412 | }, {
2413 | "sort": 14,
2414 | "id": 343,
2415 | "name": "車城鄉",
2416 | "latitude": 22.073928,
2417 | "longitude": 120.714305,
2418 | "zipCode": 944
2419 | }, {
2420 | "sort": 30,
2421 | "id": 344,
2422 | "name": "牡丹鄉",
2423 | "latitude": 22.126235,
2424 | "longitude": 120.774353,
2425 | "zipCode": 945
2426 | }, {
2427 | "sort": 9,
2428 | "id": 345,
2429 | "name": "恆春鎮",
2430 | "latitude": 22.003862380981445,
2431 | "longitude": 120.74726867675781,
2432 | "zipCode": 946
2433 | }, {
2434 | "sort": 25,
2435 | "id": 346,
2436 | "name": "滿州鄉",
2437 | "latitude": 22.02085,
2438 | "longitude": 120.838585,
2439 | "zipCode": 947
2440 | }]
2441 | }, {
2442 | "sort": 19,
2443 | "id": "0025",
2444 | "name": "臺東縣",
2445 | "districts": [{
2446 | "sort": 1,
2447 | "id": 347,
2448 | "name": "臺東市",
2449 | "latitude": 22.754611,
2450 | "longitude": 121.146857,
2451 | "zipCode": 950
2452 | }, {
2453 | "sort": 15,
2454 | "id": 348,
2455 | "name": "綠島鄉",
2456 | "latitude": 22.66928,
2457 | "longitude": 121.468341,
2458 | "zipCode": 951
2459 | }, {
2460 | "sort": 16,
2461 | "id": 349,
2462 | "name": "蘭嶼鄉",
2463 | "latitude": 22.024573,
2464 | "longitude": 121.556325,
2465 | "zipCode": 952
2466 | }, {
2467 | "sort": 10,
2468 | "id": 350,
2469 | "name": "延平鄉",
2470 | "latitude": 22.902532577514648,
2471 | "longitude": 121.08582305908203,
2472 | "zipCode": 953
2473 | }, {
2474 | "sort": 2,
2475 | "id": 351,
2476 | "name": "卑南鄉",
2477 | "latitude": 22.782736,
2478 | "longitude": 121.087105,
2479 | "zipCode": 954
2480 | }, {
2481 | "sort": 3,
2482 | "id": 352,
2483 | "name": "鹿野鄉",
2484 | "latitude": 22.914382934570313,
2485 | "longitude": 121.13618469238281,
2486 | "zipCode": 955
2487 | }, {
2488 | "sort": 7,
2489 | "id": 353,
2490 | "name": "關山鎮",
2491 | "latitude": 23.047513961791992,
2492 | "longitude": 121.16307830810547,
2493 | "zipCode": 956
2494 | }, {
2495 | "sort": 11,
2496 | "id": 354,
2497 | "name": "海端鄉",
2498 | "latitude": 23.102066,
2499 | "longitude": 121.176551,
2500 | "zipCode": 957
2501 | }, {
2502 | "sort": 8,
2503 | "id": 355,
2504 | "name": "池上鄉",
2505 | "latitude": 23.12245,
2506 | "longitude": 121.214934,
2507 | "zipCode": 958
2508 | }, {
2509 | "sort": 4,
2510 | "id": 356,
2511 | "name": "東河鄉",
2512 | "latitude": 22.969073,
2513 | "longitude": 121.302821,
2514 | "zipCode": 959
2515 | }, {
2516 | "sort": 6,
2517 | "id": 357,
2518 | "name": "成功鎮",
2519 | "latitude": 23.100314,
2520 | "longitude": 121.379478,
2521 | "zipCode": 961
2522 | }, {
2523 | "sort": 5,
2524 | "id": 358,
2525 | "name": "長濱鄉",
2526 | "latitude": 23.315254211425781,
2527 | "longitude": 121.45155334472656,
2528 | "zipCode": 962
2529 | }, {
2530 | "sort": 9,
2531 | "id": 359,
2532 | "name": "太麻里鄉",
2533 | "latitude": 22.615601,
2534 | "longitude": 121.007575,
2535 | "zipCode": 963
2536 | }, {
2537 | "sort": 12,
2538 | "id": 360,
2539 | "name": "金峰鄉",
2540 | "latitude": 22.5987548828125,
2541 | "longitude": 120.9610595703125,
2542 | "zipCode": 964
2543 | }, {
2544 | "sort": 13,
2545 | "id": 361,
2546 | "name": "大武鄉",
2547 | "latitude": 22.340556,
2548 | "longitude": 120.890078,
2549 | "zipCode": 965
2550 | }, {
2551 | "sort": 14,
2552 | "id": 362,
2553 | "name": "達仁鄉",
2554 | "latitude": 22.2969913482666,
2555 | "longitude": 120.88311767578125,
2556 | "zipCode": 966
2557 | }]
2558 | }, {
2559 | "sort": 18,
2560 | "id": "0026",
2561 | "name": "花蓮縣",
2562 | "districts": [{
2563 | "sort": 1,
2564 | "id": 363,
2565 | "name": "花蓮市",
2566 | "latitude": 23.982111,
2567 | "longitude": 121.606795,
2568 | "zipCode": 970
2569 | }, {
2570 | "sort": 4,
2571 | "id": 364,
2572 | "name": "新城鄉",
2573 | "latitude": 24.039474,
2574 | "longitude": 121.604442,
2575 | "zipCode": 971
2576 | }, {
2577 | "sort": 8,
2578 | "id": 365,
2579 | "name": "秀林鄉",
2580 | "latitude": 24.118673324584961,
2581 | "longitude": 121.62486267089844,
2582 | "zipCode": 972
2583 | }, {
2584 | "sort": 2,
2585 | "id": 366,
2586 | "name": "吉安鄉",
2587 | "latitude": 23.972953,
2588 | "longitude": 121.563485,
2589 | "zipCode": 973
2590 | }, {
2591 | "sort": 3,
2592 | "id": 367,
2593 | "name": "壽豐鄉",
2594 | "latitude": 23.870252,
2595 | "longitude": 121.508972,
2596 | "zipCode": 974
2597 | }, {
2598 | "sort": 5,
2599 | "id": 368,
2600 | "name": "鳳林鎮",
2601 | "latitude": 23.744737,
2602 | "longitude": 121.451816,
2603 | "zipCode": 975
2604 | }, {
2605 | "sort": 7,
2606 | "id": 369,
2607 | "name": "光復鄉",
2608 | "latitude": 23.66937,
2609 | "longitude": 121.423254,
2610 | "zipCode": 976
2611 | }, {
2612 | "sort": 13,
2613 | "id": 370,
2614 | "name": "豐濱鄉",
2615 | "latitude": 23.601088,
2616 | "longitude": 121.521053,
2617 | "zipCode": 977
2618 | }, {
2619 | "sort": 6,
2620 | "id": 371,
2621 | "name": "瑞穗鄉",
2622 | "latitude": 23.49656,
2623 | "longitude": 121.375778,
2624 | "zipCode": 978
2625 | }, {
2626 | "sort": 11,
2627 | "id": 372,
2628 | "name": "萬榮鄉",
2629 | "latitude": 23.714951,
2630 | "longitude": 121.410985,
2631 | "zipCode": 979
2632 | }, {
2633 | "sort": 10,
2634 | "id": 373,
2635 | "name": "玉里鎮",
2636 | "latitude": 23.335626,
2637 | "longitude": 121.315197,
2638 | "zipCode": 981
2639 | }, {
2640 | "sort": 12,
2641 | "id": 374,
2642 | "name": "卓溪鄉",
2643 | "latitude": 23.346553802490234,
2644 | "longitude": 121.30339813232422,
2645 | "zipCode": 982
2646 | }, {
2647 | "sort": 9,
2648 | "id": 375,
2649 | "name": "富里鄉",
2650 | "latitude": 23.179489135742187,
2651 | "longitude": 121.25032806396484,
2652 | "zipCode": 983
2653 | }]
2654 | }]
--------------------------------------------------------------------------------
/raw/neighborhood_taipei/G97_A_CALIN_P.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kurotanshi/mask-map/9cd4ea2d487ccb86b549b82f98243c2b8d1e7419/raw/neighborhood_taipei/G97_A_CALIN_P.dbf
--------------------------------------------------------------------------------
/raw/neighborhood_taipei/G97_A_CALIN_P.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kurotanshi/mask-map/9cd4ea2d487ccb86b549b82f98243c2b8d1e7419/raw/neighborhood_taipei/G97_A_CALIN_P.shp
--------------------------------------------------------------------------------
/raw/neighborhood_taipei/G97_A_CALIN_P.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kurotanshi/mask-map/9cd4ea2d487ccb86b549b82f98243c2b8d1e7419/raw/neighborhood_taipei/G97_A_CALIN_P.shx
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
口罩供需資訊平台 & 健保特約醫事機構地圖
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
34 |
35 |
56 |
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kurotanshi/mask-map/9cd4ea2d487ccb86b549b82f98243c2b8d1e7419/src/assets/logo.png
--------------------------------------------------------------------------------
/src/components/HelloWorld.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
{{ msg }}
4 |
5 | For a guide and recipes on how to configure / customize this project,
6 | check out the
7 | vue-cli documentation.
8 |
9 |
Installed CLI Plugins
10 |
15 |
Essential Links
16 |
23 |
Ecosystem
24 |
31 |
32 |
33 |
34 |
42 |
43 |
44 |
60 |
--------------------------------------------------------------------------------
/src/components/VueLeaflet.vue:
--------------------------------------------------------------------------------
1 | /* eslint-disable no-unused-vars */
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
132 |
133 |
180 |
--------------------------------------------------------------------------------
/src/components/infoPopup.vue:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
18 |
19 |
48 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App.vue'
3 | import store from './store'
4 |
5 | import { Icon } from 'leaflet'
6 | import 'leaflet/dist/leaflet.css'
7 |
8 | Vue.config.productionTip = false
9 |
10 | // this part resolve an issue where the markers would not appear
11 | delete Icon.Default.prototype._getIconUrl
12 |
13 | Icon.Default.mergeOptions({
14 | iconRetinaUrl: require('leaflet/dist/images/marker-icon-2x.png'),
15 | iconUrl: require('leaflet/dist/images/marker-icon.png'),
16 | shadowUrl: require('leaflet/dist/images/marker-shadow.png')
17 | })
18 |
19 | new Vue({
20 | store,
21 | render: h => h(App)
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/src/resource/map-settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "center": [25.0677505, 121.5470599],
3 | "zoom": 15,
4 | "mapURL": "https://api.tiles.mapbox.com/v4/mapbox.streets/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw",
5 | "attribute": "Map data © OpenStreetMap contributors, CC-BY-SA, Imagery © Mapbox",
6 | "icon": {
7 | "iconUrl": "https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-violet.png",
8 | "shadowUrl": "https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7/images/marker-shadow.png",
9 | "iconSize": [25, 41],
10 | "iconAnchor": [12, 41],
11 | "popupAnchor": [1, -34],
12 | "shadowSize": [41, 41]
13 | }
14 | }
--------------------------------------------------------------------------------
/src/store/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 |
4 | Vue.use(Vuex)
5 |
6 | export default new Vuex.Store({
7 | state: {
8 | stores: []
9 | },
10 | mutations: {
11 | setStores (state, payload) {
12 | state.stores = payload
13 | }
14 | },
15 | actions: {
16 | async fetchPharmacies () {
17 | const json = await fetch('https://kiang.github.io/pharmacies/json/points.json')
18 | .then(res => res.json())
19 | this.commit('setStores', json)
20 | }
21 | },
22 | modules: {
23 | }
24 | })
25 |
--------------------------------------------------------------------------------
/src/styles/reset.scss:
--------------------------------------------------------------------------------
1 | /* http://meyerweb.com/eric/tools/css/reset/
2 | v2.0 | 20110126
3 | License: none (public domain)
4 | */
5 |
6 | html,
7 | body,
8 | div,
9 | span,
10 | applet,
11 | object,
12 | iframe,
13 | h1,
14 | h2,
15 | h3,
16 | h4,
17 | h5,
18 | h6,
19 | p,
20 | blockquote,
21 | pre,
22 | a,
23 | abbr,
24 | acronym,
25 | address,
26 | big,
27 | cite,
28 | code,
29 | del,
30 | dfn,
31 | em,
32 | img,
33 | ins,
34 | kbd,
35 | q,
36 | s,
37 | samp,
38 | small,
39 | strike,
40 | strong,
41 | sub,
42 | sup,
43 | tt,
44 | var,
45 | b,
46 | u,
47 | i,
48 | center,
49 | dl,
50 | dt,
51 | dd,
52 | ol,
53 | ul,
54 | li,
55 | fieldset,
56 | form,
57 | label,
58 | legend,
59 | table,
60 | caption,
61 | tbody,
62 | tfoot,
63 | thead,
64 | tr,
65 | th,
66 | td,
67 | article,
68 | aside,
69 | canvas,
70 | details,
71 | embed,
72 | figure,
73 | figcaption,
74 | footer,
75 | header,
76 | hgroup,
77 | menu,
78 | nav,
79 | output,
80 | ruby,
81 | section,
82 | summary,
83 | time,
84 | mark,
85 | audio,
86 | video {
87 | margin: 0;
88 | padding: 0;
89 | border: 0;
90 | font-size: 100%;
91 | font: inherit;
92 | vertical-align: baseline;
93 | }
94 |
95 | /* HTML5 display-role reset for older browsers */
96 |
97 | article,
98 | aside,
99 | details,
100 | figcaption,
101 | figure,
102 | footer,
103 | header,
104 | hgroup,
105 | menu,
106 | nav,
107 | section {
108 | display: block;
109 | }
110 |
111 | body {
112 | line-height: 1;
113 | }
114 |
115 | ol,
116 | ul {
117 | list-style: none;
118 | }
119 |
120 | blockquote,
121 | q {
122 | quotes: none;
123 | }
124 |
125 | blockquote {
126 | &:before,
127 | &:after {
128 | content: '';
129 | content: none;
130 | }
131 | }
132 |
133 | q {
134 | &:before,
135 | &:after {
136 | content: '';
137 | content: none;
138 | }
139 | }
140 |
141 | table {
142 | border-collapse: collapse;
143 | border-spacing: 0;
144 | }
145 |
--------------------------------------------------------------------------------
/vue.config.js:
--------------------------------------------------------------------------------
1 |
2 | const baseUrl = process.env.NODE_ENV === 'production' ? './' : '/'
3 |
4 | module.exports = {
5 | // filenameHashing: false,
6 | devServer: { https: true },
7 | productionSourceMap: false,
8 | publicPath: baseUrl
9 | }
10 |
--------------------------------------------------------------------------------