지도에 카페 마커 표시하기
feat, test: map.ejs 카페 테스트 데이터로 15개 지도에 띄우고 상세정보 표현
Showing
7 changed files
with
661 additions
and
411 deletions
... | @@ -1151,16 +1151,16 @@ | ... | @@ -1151,16 +1151,16 @@ |
1151 | "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", | 1151 | "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", |
1152 | "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" | 1152 | "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" |
1153 | }, | 1153 | }, |
1154 | - "isstream": { | ||
1155 | - "version": "0.1.2", | ||
1156 | - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", | ||
1157 | - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" | ||
1158 | - }, | ||
1159 | "isarray": { | 1154 | "isarray": { |
1160 | "version": "1.0.0", | 1155 | "version": "1.0.0", |
1161 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", | 1156 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", |
1162 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" | 1157 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" |
1163 | }, | 1158 | }, |
1159 | + "isstream": { | ||
1160 | + "version": "0.1.2", | ||
1161 | + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", | ||
1162 | + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" | ||
1163 | + }, | ||
1164 | "jake": { | 1164 | "jake": { |
1165 | "version": "10.8.2", | 1165 | "version": "10.8.2", |
1166 | "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", | 1166 | "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", |
... | @@ -1799,6 +1799,11 @@ | ... | @@ -1799,6 +1799,11 @@ |
1799 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", | 1799 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", |
1800 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" | 1800 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" |
1801 | }, | 1801 | }, |
1802 | + "sqlstring": { | ||
1803 | + "version": "2.3.1", | ||
1804 | + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", | ||
1805 | + "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" | ||
1806 | + }, | ||
1802 | "sshpk": { | 1807 | "sshpk": { |
1803 | "version": "1.16.1", | 1808 | "version": "1.16.1", |
1804 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", | 1809 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", |
... | @@ -1813,335 +1818,330 @@ | ... | @@ -1813,335 +1818,330 @@ |
1813 | "jsbn": "~0.1.0", | 1818 | "jsbn": "~0.1.0", |
1814 | "safer-buffer": "^2.0.2", | 1819 | "safer-buffer": "^2.0.2", |
1815 | "tweetnacl": "~0.14.0" | 1820 | "tweetnacl": "~0.14.0" |
1821 | + } | ||
1822 | + }, | ||
1823 | + "statuses": { | ||
1824 | + "version": "1.4.0", | ||
1825 | + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", | ||
1826 | + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" | ||
1827 | + }, | ||
1828 | + "string-width": { | ||
1829 | + "version": "4.2.2", | ||
1830 | + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", | ||
1831 | + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", | ||
1832 | + "requires": { | ||
1833 | + "emoji-regex": "^8.0.0", | ||
1834 | + "is-fullwidth-code-point": "^3.0.0", | ||
1835 | + "strip-ansi": "^6.0.0" | ||
1816 | }, | 1836 | }, |
1817 | - "sqlstring": { | 1837 | + "dependencies": { |
1818 | - "version": "2.3.1", | 1838 | + "ansi-regex": { |
1819 | - "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", | 1839 | + "version": "5.0.0", |
1820 | - "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" | 1840 | + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", |
1821 | - }, | 1841 | + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" |
1822 | - "statuses": { | 1842 | + }, |
1823 | - "version": "1.4.0", | 1843 | + "emoji-regex": { |
1824 | - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", | 1844 | + "version": "8.0.0", |
1825 | - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" | 1845 | + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", |
1826 | - }, | 1846 | + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" |
1827 | - "string-width": { | ||
1828 | - "version": "4.2.2", | ||
1829 | - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", | ||
1830 | - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", | ||
1831 | - "requires": { | ||
1832 | - "emoji-regex": "^8.0.0", | ||
1833 | - "is-fullwidth-code-point": "^3.0.0", | ||
1834 | - "strip-ansi": "^6.0.0" | ||
1835 | }, | 1847 | }, |
1836 | - "dependencies": { | 1848 | + "is-fullwidth-code-point": { |
1837 | - "ansi-regex": { | 1849 | + "version": "3.0.0", |
1838 | - "version": "5.0.0", | 1850 | + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", |
1839 | - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", | 1851 | + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" |
1840 | - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" | 1852 | + }, |
1841 | - }, | 1853 | + "strip-ansi": { |
1842 | - "emoji-regex": { | 1854 | + "version": "6.0.0", |
1843 | - "version": "8.0.0", | 1855 | + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", |
1844 | - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", | 1856 | + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", |
1845 | - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" | 1857 | + "requires": { |
1846 | - }, | 1858 | + "ansi-regex": "^5.0.0" |
1847 | - "is-fullwidth-code-point": { | ||
1848 | - "version": "3.0.0", | ||
1849 | - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", | ||
1850 | - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" | ||
1851 | - }, | ||
1852 | - "strip-ansi": { | ||
1853 | - "version": "6.0.0", | ||
1854 | - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", | ||
1855 | - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", | ||
1856 | - "requires": { | ||
1857 | - "ansi-regex": "^5.0.0" | ||
1858 | - } | ||
1859 | } | 1859 | } |
1860 | } | 1860 | } |
1861 | + } | ||
1862 | + }, | ||
1863 | + "string_decoder": { | ||
1864 | + "version": "1.1.1", | ||
1865 | + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | ||
1866 | + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | ||
1867 | + "requires": { | ||
1868 | + "safe-buffer": "~5.1.0" | ||
1869 | + } | ||
1870 | + }, | ||
1871 | + "strip-ansi": { | ||
1872 | + "version": "5.2.0", | ||
1873 | + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | ||
1874 | + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", | ||
1875 | + "requires": { | ||
1876 | + "ansi-regex": "^4.1.0" | ||
1877 | + } | ||
1878 | + }, | ||
1879 | + "strip-json-comments": { | ||
1880 | + "version": "2.0.1", | ||
1881 | + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", | ||
1882 | + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" | ||
1883 | + }, | ||
1884 | + "supports-color": { | ||
1885 | + "version": "5.5.0", | ||
1886 | + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | ||
1887 | + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", | ||
1888 | + "requires": { | ||
1889 | + "has-flag": "^3.0.0" | ||
1890 | + } | ||
1891 | + }, | ||
1892 | + "term-size": { | ||
1893 | + "version": "2.2.1", | ||
1894 | + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", | ||
1895 | + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==" | ||
1896 | + }, | ||
1897 | + "to-readable-stream": { | ||
1898 | + "version": "1.0.0", | ||
1899 | + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", | ||
1900 | + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" | ||
1901 | + }, | ||
1902 | + "to-regex-range": { | ||
1903 | + "version": "5.0.1", | ||
1904 | + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", | ||
1905 | + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", | ||
1906 | + "requires": { | ||
1907 | + "is-number": "^7.0.0" | ||
1908 | + } | ||
1909 | + }, | ||
1910 | + "toidentifier": { | ||
1911 | + "version": "1.0.0", | ||
1912 | + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", | ||
1913 | + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" | ||
1914 | + }, | ||
1915 | + "touch": { | ||
1916 | + "version": "3.1.0", | ||
1917 | + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", | ||
1918 | + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", | ||
1919 | + "requires": { | ||
1920 | + "nopt": "~1.0.10" | ||
1921 | + } | ||
1922 | + }, | ||
1923 | + "tough-cookie": { | ||
1924 | + "version": "2.5.0", | ||
1925 | + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", | ||
1926 | + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", | ||
1927 | + "requires": { | ||
1928 | + "psl": "^1.1.28", | ||
1929 | + "punycode": "^2.1.1" | ||
1930 | + } | ||
1931 | + }, | ||
1932 | + "tunnel-agent": { | ||
1933 | + "version": "0.6.0", | ||
1934 | + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", | ||
1935 | + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", | ||
1936 | + "requires": { | ||
1937 | + "safe-buffer": "^5.0.1" | ||
1938 | + } | ||
1939 | + }, | ||
1940 | + "tweetnacl": { | ||
1941 | + "version": "0.14.5", | ||
1942 | + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", | ||
1943 | + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" | ||
1944 | + }, | ||
1945 | + "type-fest": { | ||
1946 | + "version": "0.8.1", | ||
1947 | + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", | ||
1948 | + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" | ||
1949 | + }, | ||
1950 | + "type-is": { | ||
1951 | + "version": "1.6.18", | ||
1952 | + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | ||
1953 | + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", | ||
1954 | + "requires": { | ||
1955 | + "media-typer": "0.3.0", | ||
1956 | + "mime-types": "~2.1.24" | ||
1957 | + } | ||
1958 | + }, | ||
1959 | + "typedarray-to-buffer": { | ||
1960 | + "version": "3.1.5", | ||
1961 | + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", | ||
1962 | + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", | ||
1963 | + "requires": { | ||
1964 | + "is-typedarray": "^1.0.0" | ||
1965 | + } | ||
1966 | + }, | ||
1967 | + "uid-safe": { | ||
1968 | + "version": "2.1.5", | ||
1969 | + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", | ||
1970 | + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", | ||
1971 | + "requires": { | ||
1972 | + "random-bytes": "~1.0.0" | ||
1973 | + } | ||
1974 | + }, | ||
1975 | + "undefsafe": { | ||
1976 | + "version": "2.0.3", | ||
1977 | + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", | ||
1978 | + "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==", | ||
1979 | + "requires": { | ||
1980 | + "debug": "^2.2.0" | ||
1981 | + } | ||
1982 | + }, | ||
1983 | + "unique-string": { | ||
1984 | + "version": "2.0.0", | ||
1985 | + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", | ||
1986 | + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", | ||
1987 | + "requires": { | ||
1988 | + "crypto-random-string": "^2.0.0" | ||
1989 | + } | ||
1990 | + }, | ||
1991 | + "universalify": { | ||
1992 | + "version": "0.1.2", | ||
1993 | + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", | ||
1994 | + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" | ||
1995 | + }, | ||
1996 | + "unpipe": { | ||
1997 | + "version": "1.0.0", | ||
1998 | + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | ||
1999 | + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" | ||
2000 | + }, | ||
2001 | + "update-notifier": { | ||
2002 | + "version": "4.1.3", | ||
2003 | + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz", | ||
2004 | + "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==", | ||
2005 | + "requires": { | ||
2006 | + "boxen": "^4.2.0", | ||
2007 | + "chalk": "^3.0.0", | ||
2008 | + "configstore": "^5.0.1", | ||
2009 | + "has-yarn": "^2.1.0", | ||
2010 | + "import-lazy": "^2.1.0", | ||
2011 | + "is-ci": "^2.0.0", | ||
2012 | + "is-installed-globally": "^0.3.1", | ||
2013 | + "is-npm": "^4.0.0", | ||
2014 | + "is-yarn-global": "^0.3.0", | ||
2015 | + "latest-version": "^5.0.0", | ||
2016 | + "pupa": "^2.0.1", | ||
2017 | + "semver-diff": "^3.1.1", | ||
2018 | + "xdg-basedir": "^4.0.0" | ||
1861 | }, | 2019 | }, |
1862 | - "string_decoder": { | 2020 | + "dependencies": { |
1863 | - "version": "1.1.1", | 2021 | + "ansi-styles": { |
1864 | - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | 2022 | + "version": "4.3.0", |
1865 | - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | 2023 | + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", |
1866 | - "requires": { | 2024 | + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", |
1867 | - "safe-buffer": "~5.1.0" | 2025 | + "requires": { |
1868 | - } | 2026 | + "color-convert": "^2.0.1" |
1869 | - }, | 2027 | + } |
1870 | - "strip-ansi": { | 2028 | + }, |
1871 | - "version": "5.2.0", | 2029 | + "chalk": { |
1872 | - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | 2030 | + "version": "3.0.0", |
1873 | - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", | 2031 | + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", |
1874 | - "requires": { | 2032 | + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", |
1875 | - "ansi-regex": "^4.1.0" | 2033 | + "requires": { |
1876 | - } | 2034 | + "ansi-styles": "^4.1.0", |
1877 | - }, | 2035 | + "supports-color": "^7.1.0" |
1878 | - "strip-json-comments": { | 2036 | + } |
1879 | - "version": "2.0.1", | ||
1880 | - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", | ||
1881 | - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" | ||
1882 | - }, | ||
1883 | - "supports-color": { | ||
1884 | - "version": "5.5.0", | ||
1885 | - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | ||
1886 | - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", | ||
1887 | - "requires": { | ||
1888 | - "has-flag": "^3.0.0" | ||
1889 | - } | ||
1890 | - }, | ||
1891 | - "term-size": { | ||
1892 | - "version": "2.2.1", | ||
1893 | - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", | ||
1894 | - "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==" | ||
1895 | - }, | ||
1896 | - "to-readable-stream": { | ||
1897 | - "version": "1.0.0", | ||
1898 | - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", | ||
1899 | - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" | ||
1900 | - }, | ||
1901 | - "to-regex-range": { | ||
1902 | - "version": "5.0.1", | ||
1903 | - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", | ||
1904 | - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", | ||
1905 | - "requires": { | ||
1906 | - "is-number": "^7.0.0" | ||
1907 | - } | ||
1908 | - }, | ||
1909 | - "toidentifier": { | ||
1910 | - "version": "1.0.0", | ||
1911 | - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", | ||
1912 | - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" | ||
1913 | - }, | ||
1914 | - "touch": { | ||
1915 | - "version": "3.1.0", | ||
1916 | - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", | ||
1917 | - "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", | ||
1918 | - "requires": { | ||
1919 | - "nopt": "~1.0.10" | ||
1920 | - } | ||
1921 | - }, | ||
1922 | - "tough-cookie": { | ||
1923 | - "version": "2.5.0", | ||
1924 | - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", | ||
1925 | - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", | ||
1926 | - "requires": { | ||
1927 | - "psl": "^1.1.28", | ||
1928 | - "punycode": "^2.1.1" | ||
1929 | - } | ||
1930 | - }, | ||
1931 | - "tunnel-agent": { | ||
1932 | - "version": "0.6.0", | ||
1933 | - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", | ||
1934 | - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", | ||
1935 | - "requires": { | ||
1936 | - "safe-buffer": "^5.0.1" | ||
1937 | - } | ||
1938 | - }, | ||
1939 | - "tweetnacl": { | ||
1940 | - "version": "0.14.5", | ||
1941 | - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", | ||
1942 | - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" | ||
1943 | - }, | ||
1944 | - "type-fest": { | ||
1945 | - "version": "0.8.1", | ||
1946 | - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", | ||
1947 | - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" | ||
1948 | - }, | ||
1949 | - "type-is": { | ||
1950 | - "version": "1.6.18", | ||
1951 | - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | ||
1952 | - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", | ||
1953 | - "requires": { | ||
1954 | - "media-typer": "0.3.0", | ||
1955 | - "mime-types": "~2.1.24" | ||
1956 | - } | ||
1957 | - }, | ||
1958 | - "typedarray-to-buffer": { | ||
1959 | - "version": "3.1.5", | ||
1960 | - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", | ||
1961 | - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", | ||
1962 | - "requires": { | ||
1963 | - "is-typedarray": "^1.0.0" | ||
1964 | - } | ||
1965 | - }, | ||
1966 | - "uid-safe": { | ||
1967 | - "version": "2.1.5", | ||
1968 | - "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", | ||
1969 | - "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", | ||
1970 | - "requires": { | ||
1971 | - "random-bytes": "~1.0.0" | ||
1972 | - } | ||
1973 | - }, | ||
1974 | - "undefsafe": { | ||
1975 | - "version": "2.0.3", | ||
1976 | - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", | ||
1977 | - "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==", | ||
1978 | - "requires": { | ||
1979 | - "debug": "^2.2.0" | ||
1980 | - } | ||
1981 | - }, | ||
1982 | - "unique-string": { | ||
1983 | - "version": "2.0.0", | ||
1984 | - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", | ||
1985 | - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", | ||
1986 | - "requires": { | ||
1987 | - "crypto-random-string": "^2.0.0" | ||
1988 | - } | ||
1989 | - }, | ||
1990 | - "universalify": { | ||
1991 | - "version": "0.1.2", | ||
1992 | - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", | ||
1993 | - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" | ||
1994 | - }, | ||
1995 | - "unpipe": { | ||
1996 | - "version": "1.0.0", | ||
1997 | - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | ||
1998 | - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" | ||
1999 | - }, | ||
2000 | - "update-notifier": { | ||
2001 | - "version": "4.1.3", | ||
2002 | - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz", | ||
2003 | - "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==", | ||
2004 | - "requires": { | ||
2005 | - "boxen": "^4.2.0", | ||
2006 | - "chalk": "^3.0.0", | ||
2007 | - "configstore": "^5.0.1", | ||
2008 | - "has-yarn": "^2.1.0", | ||
2009 | - "import-lazy": "^2.1.0", | ||
2010 | - "is-ci": "^2.0.0", | ||
2011 | - "is-installed-globally": "^0.3.1", | ||
2012 | - "is-npm": "^4.0.0", | ||
2013 | - "is-yarn-global": "^0.3.0", | ||
2014 | - "latest-version": "^5.0.0", | ||
2015 | - "pupa": "^2.0.1", | ||
2016 | - "semver-diff": "^3.1.1", | ||
2017 | - "xdg-basedir": "^4.0.0" | ||
2018 | }, | 2037 | }, |
2019 | - "dependencies": { | 2038 | + "color-convert": { |
2020 | - "ansi-styles": { | 2039 | + "version": "2.0.1", |
2021 | - "version": "4.3.0", | 2040 | + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", |
2022 | - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", | 2041 | + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", |
2023 | - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", | 2042 | + "requires": { |
2024 | - "requires": { | 2043 | + "color-name": "~1.1.4" |
2025 | - "color-convert": "^2.0.1" | 2044 | + } |
2026 | - } | 2045 | + }, |
2027 | - }, | 2046 | + "color-name": { |
2028 | - "chalk": { | 2047 | + "version": "1.1.4", |
2029 | - "version": "3.0.0", | 2048 | + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", |
2030 | - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", | 2049 | + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" |
2031 | - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", | 2050 | + }, |
2032 | - "requires": { | 2051 | + "has-flag": { |
2033 | - "ansi-styles": "^4.1.0", | 2052 | + "version": "4.0.0", |
2034 | - "supports-color": "^7.1.0" | 2053 | + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", |
2035 | - } | 2054 | + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" |
2036 | - }, | 2055 | + }, |
2037 | - "color-convert": { | 2056 | + "supports-color": { |
2038 | - "version": "2.0.1", | 2057 | + "version": "7.2.0", |
2039 | - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", | 2058 | + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", |
2040 | - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", | 2059 | + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", |
2041 | - "requires": { | 2060 | + "requires": { |
2042 | - "color-name": "~1.1.4" | 2061 | + "has-flag": "^4.0.0" |
2043 | - } | ||
2044 | - }, | ||
2045 | - "color-name": { | ||
2046 | - "version": "1.1.4", | ||
2047 | - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", | ||
2048 | - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" | ||
2049 | - }, | ||
2050 | - "has-flag": { | ||
2051 | - "version": "4.0.0", | ||
2052 | - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | ||
2053 | - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" | ||
2054 | - }, | ||
2055 | - "supports-color": { | ||
2056 | - "version": "7.2.0", | ||
2057 | - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", | ||
2058 | - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", | ||
2059 | - "requires": { | ||
2060 | - "has-flag": "^4.0.0" | ||
2061 | - } | ||
2062 | } | 2062 | } |
2063 | } | 2063 | } |
2064 | - }, | ||
2065 | - "uri-js": { | ||
2066 | - "version": "4.4.1", | ||
2067 | - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", | ||
2068 | - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", | ||
2069 | - "requires": { | ||
2070 | - "punycode": "^2.1.0" | ||
2071 | - } | ||
2072 | - }, | ||
2073 | - "url-parse-lax": { | ||
2074 | - "version": "3.0.0", | ||
2075 | - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", | ||
2076 | - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", | ||
2077 | - "requires": { | ||
2078 | - "prepend-http": "^2.0.0" | ||
2079 | - } | ||
2080 | - }, | ||
2081 | - "util-deprecate": { | ||
2082 | - "version": "1.0.2", | ||
2083 | - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | ||
2084 | - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" | ||
2085 | - }, | ||
2086 | - "utils-merge": { | ||
2087 | - "version": "1.0.1", | ||
2088 | - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", | ||
2089 | - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" | ||
2090 | - }, | ||
2091 | - "uuid": { | ||
2092 | - "version": "3.4.0", | ||
2093 | - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", | ||
2094 | - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" | ||
2095 | - }, | ||
2096 | - "vary": { | ||
2097 | - "version": "1.1.2", | ||
2098 | - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | ||
2099 | - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" | ||
2100 | - }, | ||
2101 | - "verror": { | ||
2102 | - "version": "1.10.0", | ||
2103 | - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", | ||
2104 | - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", | ||
2105 | - "requires": { | ||
2106 | - "assert-plus": "^1.0.0", | ||
2107 | - "core-util-is": "1.0.2", | ||
2108 | - "extsprintf": "^1.2.0" | ||
2109 | - } | ||
2110 | - }, | ||
2111 | - "widest-line": { | ||
2112 | - "version": "3.1.0", | ||
2113 | - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", | ||
2114 | - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", | ||
2115 | - "requires": { | ||
2116 | - "string-width": "^4.0.0" | ||
2117 | - } | ||
2118 | - }, | ||
2119 | - "wrappy": { | ||
2120 | - "version": "1.0.2", | ||
2121 | - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", | ||
2122 | - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" | ||
2123 | - }, | ||
2124 | - "write-file-atomic": { | ||
2125 | - "version": "3.0.3", | ||
2126 | - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", | ||
2127 | - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", | ||
2128 | - "requires": { | ||
2129 | - "imurmurhash": "^0.1.4", | ||
2130 | - "is-typedarray": "^1.0.0", | ||
2131 | - "signal-exit": "^3.0.2", | ||
2132 | - "typedarray-to-buffer": "^3.1.5" | ||
2133 | - } | ||
2134 | - }, | ||
2135 | - "xdg-basedir": { | ||
2136 | - "version": "4.0.0", | ||
2137 | - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", | ||
2138 | - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" | ||
2139 | - }, | ||
2140 | - "yallist": { | ||
2141 | - "version": "4.0.0", | ||
2142 | - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | ||
2143 | - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" | ||
2144 | } | 2064 | } |
2065 | + }, | ||
2066 | + "uri-js": { | ||
2067 | + "version": "4.4.1", | ||
2068 | + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", | ||
2069 | + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", | ||
2070 | + "requires": { | ||
2071 | + "punycode": "^2.1.0" | ||
2072 | + } | ||
2073 | + }, | ||
2074 | + "url-parse-lax": { | ||
2075 | + "version": "3.0.0", | ||
2076 | + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", | ||
2077 | + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", | ||
2078 | + "requires": { | ||
2079 | + "prepend-http": "^2.0.0" | ||
2080 | + } | ||
2081 | + }, | ||
2082 | + "util-deprecate": { | ||
2083 | + "version": "1.0.2", | ||
2084 | + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | ||
2085 | + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" | ||
2086 | + }, | ||
2087 | + "utils-merge": { | ||
2088 | + "version": "1.0.1", | ||
2089 | + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", | ||
2090 | + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" | ||
2091 | + }, | ||
2092 | + "uuid": { | ||
2093 | + "version": "3.4.0", | ||
2094 | + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", | ||
2095 | + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" | ||
2096 | + }, | ||
2097 | + "vary": { | ||
2098 | + "version": "1.1.2", | ||
2099 | + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | ||
2100 | + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" | ||
2101 | + }, | ||
2102 | + "verror": { | ||
2103 | + "version": "1.10.0", | ||
2104 | + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", | ||
2105 | + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", | ||
2106 | + "requires": { | ||
2107 | + "assert-plus": "^1.0.0", | ||
2108 | + "core-util-is": "1.0.2", | ||
2109 | + "extsprintf": "^1.2.0" | ||
2110 | + } | ||
2111 | + }, | ||
2112 | + "widest-line": { | ||
2113 | + "version": "3.1.0", | ||
2114 | + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", | ||
2115 | + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", | ||
2116 | + "requires": { | ||
2117 | + "string-width": "^4.0.0" | ||
2118 | + } | ||
2119 | + }, | ||
2120 | + "wrappy": { | ||
2121 | + "version": "1.0.2", | ||
2122 | + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", | ||
2123 | + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" | ||
2124 | + }, | ||
2125 | + "write-file-atomic": { | ||
2126 | + "version": "3.0.3", | ||
2127 | + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", | ||
2128 | + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", | ||
2129 | + "requires": { | ||
2130 | + "imurmurhash": "^0.1.4", | ||
2131 | + "is-typedarray": "^1.0.0", | ||
2132 | + "signal-exit": "^3.0.2", | ||
2133 | + "typedarray-to-buffer": "^3.1.5" | ||
2134 | + } | ||
2135 | + }, | ||
2136 | + "xdg-basedir": { | ||
2137 | + "version": "4.0.0", | ||
2138 | + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", | ||
2139 | + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" | ||
2140 | + }, | ||
2141 | + "yallist": { | ||
2142 | + "version": "4.0.0", | ||
2143 | + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | ||
2144 | + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" | ||
2145 | } | 2145 | } |
2146 | } | 2146 | } |
2147 | } | 2147 | } | ... | ... |
... | @@ -2,7 +2,7 @@ var express = require("express"); | ... | @@ -2,7 +2,7 @@ var express = require("express"); |
2 | var router = express.Router(); | 2 | var router = express.Router(); |
3 | 3 | ||
4 | var request = require("request"); | 4 | var request = require("request"); |
5 | -var bodyParser=require('body-parser'); | 5 | +var bodyParser = require("body-parser"); |
6 | 6 | ||
7 | var { OAuth2Client } = require("google-auth-library"); | 7 | var { OAuth2Client } = require("google-auth-library"); |
8 | var querystring = require("querystring"); | 8 | var querystring = require("querystring"); |
... | @@ -10,11 +10,11 @@ var querystring = require("querystring"); | ... | @@ -10,11 +10,11 @@ var querystring = require("querystring"); |
10 | var CLIENT_ID = | 10 | var CLIENT_ID = |
11 | "94679084723-s5f0686p2porp9mkakrp1p89a48n24nj.apps.googleusercontent.com"; | 11 | "94679084723-s5f0686p2porp9mkakrp1p89a48n24nj.apps.googleusercontent.com"; |
12 | var client = new OAuth2Client(CLIENT_ID); | 12 | var client = new OAuth2Client(CLIENT_ID); |
13 | -var mysql=require('mysql') | 13 | +var mysql = require("mysql"); |
14 | var session = require("express-session"); | 14 | var session = require("express-session"); |
15 | var FileStore = require("session-file-store")(session); | 15 | var FileStore = require("session-file-store")(session); |
16 | -router.use(bodyParser.urlencoded({extended:false})); //url인코딩 x | 16 | +router.use(bodyParser.urlencoded({ extended: false })); //url인코딩 x |
17 | -router.use(bodyParser.json()); //json방식으로 파 | 17 | +router.use(bodyParser.json()); //json방식으로 파 |
18 | router.use( | 18 | router.use( |
19 | session({ | 19 | session({ |
20 | secret: "209", // 암호화 | 20 | secret: "209", // 암호화 |
... | @@ -24,10 +24,10 @@ router.use( | ... | @@ -24,10 +24,10 @@ router.use( |
24 | }) | 24 | }) |
25 | ); | 25 | ); |
26 | var connection = mysql.createConnection({ | 26 | var connection = mysql.createConnection({ |
27 | - host : 'localhost', | 27 | + host: "localhost", |
28 | - user : 'root', | 28 | + user: "root", |
29 | - password : 'g79465', | 29 | + password: "g79465", |
30 | - database : 'caferecommend' | 30 | + database: "caferecommend", |
31 | }); | 31 | }); |
32 | connection.connect(); | 32 | connection.connect(); |
33 | /* GET home page. */ | 33 | /* GET home page. */ |
... | @@ -59,22 +59,20 @@ router.post("/index", (req, res) => { | ... | @@ -59,22 +59,20 @@ router.post("/index", (req, res) => { |
59 | }); | 59 | }); |
60 | 60 | ||
61 | router.get("/login", checkAuthenticated, (req, res) => { | 61 | router.get("/login", checkAuthenticated, (req, res) => { |
62 | - var sql = 'SELECT * FROM USER WHERE EMAIL=?'; | 62 | + var sql = "SELECT * FROM USER WHERE EMAIL=?"; |
63 | - var parameter=[req.session.user.email]; | 63 | + var parameter = [req.session.user.email]; |
64 | - connection.query(sql,parameter, function(err, row){ | 64 | + connection.query(sql, parameter, function (err, row) { |
65 | - if(err){ | 65 | + if (err) { |
66 | console.log(err); | 66 | console.log(err); |
67 | - } | 67 | + } else { |
68 | - else { | ||
69 | if (row.length > 0) { | 68 | if (row.length > 0) { |
70 | - console.log("이미 가입이 되어있는 아이디") | 69 | + console.log("이미 가입이 되어있는 아이디"); |
71 | req.session.user.nickname = row[0].NICKNAME; | 70 | req.session.user.nickname = row[0].NICKNAME; |
72 | req.session.user.age = row[0].AGE; | 71 | req.session.user.age = row[0].AGE; |
73 | req.session.user.gender = row[0].GENDER; | 72 | req.session.user.gender = row[0].GENDER; |
74 | - return res.render('map', {user : req.session.user}) | 73 | + return res.render("map", { user: req.session.user }); |
75 | - } | 74 | + } else { |
76 | - else{ | 75 | + return res.render("login", { user: req.session.user, message: "none" }); |
77 | - return res.render("login", { user: req.session.user, message:'none' }); | ||
78 | } | 76 | } |
79 | } | 77 | } |
80 | }); | 78 | }); |
... | @@ -84,65 +82,42 @@ router.post("/login", (req, res) => { | ... | @@ -84,65 +82,42 @@ router.post("/login", (req, res) => { |
84 | console.log(req.body.nickname); | 82 | console.log(req.body.nickname); |
85 | console.log(req.body.age); | 83 | console.log(req.body.age); |
86 | console.log(req.body.gender); | 84 | console.log(req.body.gender); |
87 | - var sql =' SELECT * FROM USER WHERE NICKNAME=?'; | 85 | + var sql = " SELECT * FROM USER WHERE NICKNAME=?"; |
88 | - var parameter=[req.body.nickname]; | 86 | + var parameter = [req.body.nickname]; |
89 | - connection.query(sql, parameter, function(err,row){ | 87 | + connection.query(sql, parameter, function (err, row) { |
90 | - if(err){ | 88 | + if (err) { |
91 | - console.log(err); | 89 | + console.log(err); |
92 | - } | ||
93 | - if(row.length>0){ | ||
94 | - console.log('동일 닉네임있음'); | ||
95 | - | ||
96 | - return res.render("login", {user : req.session.user, message: 'same nickname'}); | ||
97 | - } | ||
98 | - else{ | ||
99 | - req.session.user.nickname=req.body.nickname; | ||
100 | - req.session.user.age=req.body.age; | ||
101 | - req.session.user.gender=req.body.gender; | ||
102 | - var sql='INSERT INTO USER(EMAIL, NAME, NICKNAME, AGE, GENDER) VALUES(?,?,?,?,?)'; | ||
103 | - var parameter=[req.session.user.email, req.session.user.name, req.session.user.nickname, req.session.user.age, req.session.user.gender]; | ||
104 | - connection.query(sql, parameter, function(err, row){ | ||
105 | - if(err){ | ||
106 | - console.log(err); | ||
107 | - } | ||
108 | - else{ | ||
109 | - console.log("새로운 user데이터 입력"); | ||
110 | - } | ||
111 | - }); | ||
112 | - return res.render("map", { user : req.session.user }); | ||
113 | - } | ||
114 | - }); | ||
115 | - | ||
116 | -}); | ||
117 | - | ||
118 | -router.get("/cafe", (req, res) => { | ||
119 | - let code = "CE7"; | ||
120 | - let encodedStr = querystring.escape(code); | ||
121 | - | ||
122 | - let kakaoOptions = { | ||
123 | - uri: `https://dapi.kakao.com/v2/local/search/category.json?category_group_code=${encodedStr}`, | ||
124 | - method: "GET", | ||
125 | - headers: { | ||
126 | - Authorization: "KakaoAK 2f3999076db5d32db975ab9862a64480", | ||
127 | - }, | ||
128 | - encoding: "utf-8", | ||
129 | - }; | ||
130 | - request(kakaoOptions, callback); | ||
131 | - | ||
132 | - function callback(error, res, body) { | ||
133 | - console.log(body); | ||
134 | - let kakaoPlaces = JSON.parse(body); | ||
135 | - | ||
136 | - for (document of kakaoPlaces.documents) { | ||
137 | - console.log(document.id); | ||
138 | - console.log(document.place_name); | ||
139 | } | 90 | } |
140 | - } | 91 | + if (row.length > 0) { |
141 | - return; | 92 | + console.log("동일 닉네임있음"); |
142 | -}); | 93 | + |
143 | - | 94 | + return res.render("login", { |
144 | -router.get("/map", (req, res) => { | 95 | + user: req.session.user, |
145 | - res.render("map"); | 96 | + message: "same nickname", |
97 | + }); | ||
98 | + } else { | ||
99 | + req.session.user.nickname = req.body.nickname; | ||
100 | + req.session.user.age = req.body.age; | ||
101 | + req.session.user.gender = req.body.gender; | ||
102 | + var sql = | ||
103 | + "INSERT INTO USER(EMAIL, NAME, NICKNAME, AGE, GENDER) VALUES(?,?,?,?,?)"; | ||
104 | + var parameter = [ | ||
105 | + req.session.user.email, | ||
106 | + req.session.user.name, | ||
107 | + req.session.user.nickname, | ||
108 | + req.session.user.age, | ||
109 | + req.session.user.gender, | ||
110 | + ]; | ||
111 | + connection.query(sql, parameter, function (err, row) { | ||
112 | + if (err) { | ||
113 | + console.log(err); | ||
114 | + } else { | ||
115 | + console.log("새로운 user데이터 입력"); | ||
116 | + } | ||
117 | + }); | ||
118 | + return res.render("map", { user: req.session.user }); | ||
119 | + } | ||
120 | + }); | ||
146 | }); | 121 | }); |
147 | 122 | ||
148 | module.exports = router; | 123 | module.exports = router; |
... | @@ -163,7 +138,7 @@ function checkAuthenticated(req, res, next) { | ... | @@ -163,7 +138,7 @@ function checkAuthenticated(req, res, next) { |
163 | verify() | 138 | verify() |
164 | .then(() => { | 139 | .then(() => { |
165 | req.session.user.name = user.name; | 140 | req.session.user.name = user.name; |
166 | - req.session.user.email=user.email; | 141 | + req.session.user.email = user.email; |
167 | next(); | 142 | next(); |
168 | }) | 143 | }) |
169 | .catch((err) => { | 144 | .catch((err) => { |
... | @@ -172,12 +147,13 @@ function checkAuthenticated(req, res, next) { | ... | @@ -172,12 +147,13 @@ function checkAuthenticated(req, res, next) { |
172 | } | 147 | } |
173 | 148 | ||
174 | router.get("/map", (req, res) => { | 149 | router.get("/map", (req, res) => { |
175 | - console.log(req.session.user); | 150 | + if (req.session.user) { |
151 | + res.render("map"); | ||
152 | + } | ||
176 | res.render("map"); | 153 | res.render("map"); |
177 | }); | 154 | }); |
178 | 155 | ||
179 | - | 156 | +router.get("/logout", function (req, res) { |
180 | -router.get('/logout',function(req,res){ | 157 | + req.session.destroy(); //세션비우기 |
181 | - req.session.destroy(); //세션비우기 | 158 | + res.redirect("/"); |
182 | - res.redirect('/'); | ||
183 | }); | 159 | }); | ... | ... |
1 | +{"cookie":{"originalMaxAge":null,"expires":null,"httpOnly":true,"path":"/"},"__lastAccess":1621408098038} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | +{"cookie":{"originalMaxAge":null,"expires":null,"httpOnly":true,"path":"/"},"__lastAccess":1621338937349} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | +{"cookie":{"originalMaxAge":null,"expires":null,"httpOnly":true,"path":"/"},"__lastAccess":1621338737470} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | +{"cookie":{"originalMaxAge":null,"expires":null,"httpOnly":true,"path":"/"},"__lastAccess":1621337475210} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <!DOCTYPE html> | 1 | <!DOCTYPE html> |
2 | <html> | 2 | <html> |
3 | <head> | 3 | <head> |
4 | - <title>KaKao Map</title> | 4 | + <title>Cafe Map</title> |
5 | - <link rel="stylesheet" href="/stylesheets/style.css" /> | 5 | + <style> |
6 | + .map_wrap, | ||
7 | + .map_wrap * { | ||
8 | + margin: 0; | ||
9 | + padding: 0; | ||
10 | + font-family: "Malgun Gothic", dotum, "돋움", sans-serif; | ||
11 | + font-size: 12px; | ||
12 | + } | ||
13 | + .map_wrap { | ||
14 | + position: relative; | ||
15 | + width: 100%; | ||
16 | + height: 350px; | ||
17 | + } | ||
18 | + #category { | ||
19 | + position: absolute; | ||
20 | + top: 10px; | ||
21 | + left: 10px; | ||
22 | + border-radius: 5px; | ||
23 | + border: 1px solid #909090; | ||
24 | + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.4); | ||
25 | + background: #fff; | ||
26 | + overflow: hidden; | ||
27 | + z-index: 2; | ||
28 | + } | ||
29 | + #category li { | ||
30 | + float: left; | ||
31 | + list-style: none; | ||
32 | + width: 50px; | ||
33 | + border-right: 1px solid #acacac; | ||
34 | + padding: 6px 0; | ||
35 | + text-align: center; | ||
36 | + cursor: pointer; | ||
37 | + } | ||
38 | + #category li.on { | ||
39 | + background: #eee; | ||
40 | + } | ||
41 | + #category li:hover { | ||
42 | + background: #ffe6e6; | ||
43 | + border-left: 1px solid #acacac; | ||
44 | + margin-left: -1px; | ||
45 | + } | ||
46 | + #category li:last-child { | ||
47 | + margin-right: 0; | ||
48 | + border-right: 0; | ||
49 | + } | ||
50 | + #category li span { | ||
51 | + display: block; | ||
52 | + margin: 0 auto 3px; | ||
53 | + width: 27px; | ||
54 | + height: 28px; | ||
55 | + } | ||
56 | + #category li .category_bg { | ||
57 | + background: url(https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/places_category.png) | ||
58 | + no-repeat; | ||
59 | + } | ||
60 | + #category li .bank { | ||
61 | + background-position: -10px 0; | ||
62 | + } | ||
63 | + #category li .mart { | ||
64 | + background-position: -10px -36px; | ||
65 | + } | ||
66 | + #category li .pharmacy { | ||
67 | + background-position: -10px -72px; | ||
68 | + } | ||
69 | + #category li .oil { | ||
70 | + background-position: -10px -108px; | ||
71 | + } | ||
72 | + #category li .cafe { | ||
73 | + background-position: -10px -144px; | ||
74 | + } | ||
75 | + #category li .store { | ||
76 | + background-position: -10px -180px; | ||
77 | + } | ||
78 | + #category li.on .category_bg { | ||
79 | + background-position-x: -46px; | ||
80 | + } | ||
81 | + .placeinfo_wrap { | ||
82 | + position: absolute; | ||
83 | + bottom: 28px; | ||
84 | + left: -150px; | ||
85 | + width: 300px; | ||
86 | + } | ||
87 | + .placeinfo { | ||
88 | + position: relative; | ||
89 | + width: 100%; | ||
90 | + border-radius: 6px; | ||
91 | + border: 1px solid #ccc; | ||
92 | + border-bottom: 2px solid #ddd; | ||
93 | + padding-bottom: 10px; | ||
94 | + background: #fff; | ||
95 | + } | ||
96 | + .placeinfo:nth-of-type(n) { | ||
97 | + border: 0; | ||
98 | + box-shadow: 0px 1px 2px #888; | ||
99 | + } | ||
100 | + .placeinfo_wrap .after { | ||
101 | + content: ""; | ||
102 | + position: relative; | ||
103 | + margin-left: -12px; | ||
104 | + left: 50%; | ||
105 | + width: 22px; | ||
106 | + height: 12px; | ||
107 | + background: url("https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/vertex_white.png"); | ||
108 | + } | ||
109 | + .placeinfo a, | ||
110 | + .placeinfo a:hover, | ||
111 | + .placeinfo a:active { | ||
112 | + color: #fff; | ||
113 | + text-decoration: none; | ||
114 | + } | ||
115 | + .placeinfo a, | ||
116 | + .placeinfo span { | ||
117 | + display: block; | ||
118 | + text-overflow: ellipsis; | ||
119 | + overflow: hidden; | ||
120 | + white-space: nowrap; | ||
121 | + } | ||
122 | + .placeinfo span { | ||
123 | + margin: 5px 5px 0 5px; | ||
124 | + cursor: default; | ||
125 | + font-size: 13px; | ||
126 | + } | ||
127 | + .placeinfo .title { | ||
128 | + font-weight: bold; | ||
129 | + font-size: 14px; | ||
130 | + border-radius: 6px 6px 0 0; | ||
131 | + margin: -1px -1px 0 -1px; | ||
132 | + padding: 10px; | ||
133 | + color: #fff; | ||
134 | + background: #d95050; | ||
135 | + background: #d95050 | ||
136 | + url(https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/arrow_white.png) | ||
137 | + no-repeat right 14px center; | ||
138 | + } | ||
139 | + .placeinfo .tel { | ||
140 | + color: #0f7833; | ||
141 | + } | ||
142 | + .placeinfo .jibun { | ||
143 | + color: #999; | ||
144 | + font-size: 11px; | ||
145 | + margin-top: 0; | ||
146 | + } | ||
147 | + </style> | ||
6 | </head> | 148 | </head> |
7 | <body> | 149 | <body> |
8 | <div id="map" style="width: 100%; height: 575px"></div> | 150 | <div id="map" style="width: 100%; height: 575px"></div> |
9 | 151 | ||
10 | <script | 152 | <script |
11 | type="text/javascript" | 153 | type="text/javascript" |
12 | - src="//dapi.kakao.com/v2/maps/sdk.js?appkey=68cbccbcd6f0fef0a213e62ad37393ee" | 154 | + src="//dapi.kakao.com/v2/maps/sdk.js?appkey=68cbccbcd6f0fef0a213e62ad37393ee&libraries=services" |
13 | ></script> | 155 | ></script> |
14 | <script> | 156 | <script> |
15 | var lat = ""; | 157 | var lat = ""; |
16 | var lon = ""; | 158 | var lon = ""; |
17 | 159 | ||
160 | + var placeOverlay = new kakao.maps.CustomOverlay({ zIndex: 1 }); | ||
161 | + var contentNode = document.createElement("div"); | ||
162 | + var markers = []; | ||
163 | + var currCategory = "CE7"; // 카테고리코드: 카페 | ||
164 | + var order = 1; | ||
165 | + | ||
18 | var mapContainer = document.getElementById("map"), | 166 | var mapContainer = document.getElementById("map"), |
19 | mapOption = { | 167 | mapOption = { |
20 | center: new kakao.maps.LatLng(36.2477502, 127.078164), | 168 | center: new kakao.maps.LatLng(36.2477502, 127.078164), |
... | @@ -23,6 +171,26 @@ | ... | @@ -23,6 +171,26 @@ |
23 | 171 | ||
24 | var map = new kakao.maps.Map(mapContainer, mapOption); | 172 | var map = new kakao.maps.Map(mapContainer, mapOption); |
25 | 173 | ||
174 | + var ps = new kakao.maps.services.Places(map); | ||
175 | + | ||
176 | + kakao.maps.event.addListener(map, "idle", searchPlaces); | ||
177 | + | ||
178 | + contentNode.className = "placeinfo_wrap"; | ||
179 | + | ||
180 | + addEventHandle(contentNode, "mousedown", kakao.maps.event.preventMap); | ||
181 | + addEventHandle(contentNode, "touchstart", kakao.maps.event.preventMap); | ||
182 | + | ||
183 | + placeOverlay.setContent(contentNode); | ||
184 | + | ||
185 | + function addEventHandle(target, type, callback) { | ||
186 | + if (target.addEventListener) { | ||
187 | + target.addEventListener(type, callback); | ||
188 | + } else { | ||
189 | + target.attachEvent("on" + type, callback); | ||
190 | + } | ||
191 | + } | ||
192 | + | ||
193 | + placeOverlay.setContent(contentNode); | ||
26 | if (navigator.geolocation) { | 194 | if (navigator.geolocation) { |
27 | navigator.geolocation.getCurrentPosition(function (position) { | 195 | navigator.geolocation.getCurrentPosition(function (position) { |
28 | lat = position.coords.latitude; | 196 | lat = position.coords.latitude; |
... | @@ -41,6 +209,108 @@ | ... | @@ -41,6 +209,108 @@ |
41 | function displayCurrentPosition(locPosition) { | 209 | function displayCurrentPosition(locPosition) { |
42 | map.setCenter(locPosition); | 210 | map.setCenter(locPosition); |
43 | } | 211 | } |
212 | + | ||
213 | + kakao.maps.event.addListener(map, "idle", searchPlaces); | ||
214 | + | ||
215 | + function searchPlaces() { | ||
216 | + if (!currCategory) { | ||
217 | + return; | ||
218 | + } | ||
219 | + placeOverlay.setMap(null); | ||
220 | + | ||
221 | + ps.categorySearch(currCategory, placesSearchCB, { usemapBounds: true }); | ||
222 | + } | ||
223 | + | ||
224 | + function placesSearchCB(data, status, pagination) { | ||
225 | + if (status === kakao.maps.services.Status.OK) { | ||
226 | + displayPlaces(data); | ||
227 | + } | ||
228 | + } | ||
229 | + | ||
230 | + function displayPlaces(places) { | ||
231 | + for (var i = 0; i < places.length; i++) { | ||
232 | + var marker = addMarker( | ||
233 | + new kakao.maps.LatLng(places[i].y, places[i].x), | ||
234 | + order | ||
235 | + ); | ||
236 | + | ||
237 | + (function (marker, place) { | ||
238 | + kakao.maps.event.addListener(marker, "click", function () { | ||
239 | + displayPlaceInfo(place); | ||
240 | + }); | ||
241 | + })(marker, places[i]); | ||
242 | + } | ||
243 | + } | ||
244 | + | ||
245 | + function addMarker(position, order) { | ||
246 | + var imageSrc = | ||
247 | + "https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/places_category.png"; | ||
248 | + var imageSize = new kakao.maps.Size(27, 30); | ||
249 | + var imgOptions = { | ||
250 | + spriteSize: new kakao.maps.Size(72, 220), | ||
251 | + spriteOrigin: new kakao.maps.Point(46, 150), | ||
252 | + offset: new kakao.maps.Point(11, 28), | ||
253 | + }; | ||
254 | + var markerImage = new kakao.maps.MarkerImage( | ||
255 | + imageSrc, | ||
256 | + imageSize, | ||
257 | + imgOptions | ||
258 | + ); | ||
259 | + | ||
260 | + var marker = new kakao.maps.Marker({ | ||
261 | + position: position, | ||
262 | + image: markerImage, | ||
263 | + }); | ||
264 | + | ||
265 | + marker.setMap(map); | ||
266 | + markers.push(marker); | ||
267 | + | ||
268 | + return marker; | ||
269 | + } | ||
270 | + | ||
271 | + function displayPlaceInfo(place) { | ||
272 | + var content = | ||
273 | + '<div class="placeinfo">' + | ||
274 | + ' <a class="title" href="' + | ||
275 | + place.place_url + | ||
276 | + '" target="_blank" title="' + | ||
277 | + place.place_name + | ||
278 | + '">' + | ||
279 | + place.place_name + | ||
280 | + "</a>"; | ||
281 | + | ||
282 | + if (place.road_address_name) { | ||
283 | + content += | ||
284 | + ' <span title="' + | ||
285 | + place.road_address_name + | ||
286 | + '">' + | ||
287 | + place.road_address_name + | ||
288 | + "</span>" + | ||
289 | + ' <span class="jibun" title="' + | ||
290 | + place.address_name + | ||
291 | + '">(지번 : ' + | ||
292 | + place.address_name + | ||
293 | + ")</span>"; | ||
294 | + } else { | ||
295 | + content += | ||
296 | + ' <span title="' + | ||
297 | + place.address_name + | ||
298 | + '">' + | ||
299 | + place.address_name + | ||
300 | + "</span>"; | ||
301 | + } | ||
302 | + | ||
303 | + content += | ||
304 | + ' <span class="tel">' + | ||
305 | + place.phone + | ||
306 | + "</span>" + | ||
307 | + "</div>" + | ||
308 | + '<div class="after"></div>'; | ||
309 | + | ||
310 | + contentNode.innerHTML = content; | ||
311 | + placeOverlay.setPosition(new kakao.maps.LatLng(place.y, place.x)); | ||
312 | + placeOverlay.setMap(map); | ||
313 | + } | ||
44 | </script> | 314 | </script> |
45 | </body> | 315 | </body> |
46 | </html> | 316 | </html> | ... | ... |
-
Please register or login to post a comment