์ฌ์ฉ์ ์์น์ ๋ ์คํ ๋ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ์ฌ ๊ฐ๊น์ด ์์ผ๋ก ์ ๋ ฌํ๋ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํด์ผ ํ๋ค.
์ฐ์ ๋ ์คํ ๋ Data์๋ ๋๋ก๋ช ์ฃผ์๋ ์กด์ฌํ์ง๋ง ์์น ์ ๋ณด๋ ๋ฐ๋ก ์กด์ฌํ์ง ์์ ์์น ์ ๋ณด๋ฅผ ์ ๋ ฅํด์ผ๋ง ํ๋ค. ๋๋ก๋ช ์ฃผ์์์ ์ ๊ณตํ๋ DB ๋ฐ์ดํฐ๋ค์ด ์กด์ฌํ๋๋ฐ ๊ทธ ์ค์ ๋๋ก๋ช ์ฃผ์ DB๊ฐ ์กด์ฌํ๋ค. ๋๋ก๋ช ์ฃผ์ DB์๋ ๋๋ก๋ช ์ฃผ์ ๋ณ UTM-K ์ขํ๊ณ ๊ธฐ๋ฐ ์ขํ๋ฅผ ์ ๊ณตํ๋ค. ๋ฐ๋ผ์ ์ด๋ฅผ ํ์ฉํ๋ฉด ์์น ์ ๋ณด๋ฅผ ๋งคํ์์ผ์ค ์ ์๋ค.
๊ฐ์ฅ ๋จผ์ ์ํํด์ผ ํ ๊ณผ์ ์ ์ ๋ฆฌํ์๋ฉด
1. ๋ ์คํ ๋ ์ ๋ณด๋ฅผ DB์ ์
๋ ฅ ์ํจ ํ
2. ๋๋ก๋ช
์ฃผ์ DB์ ์ขํ ์ ๋ณด๋ฅผ DB์ ์
๋ ฅ ์ํจ๋ค.
3. ๊ทธ ํ์ ๋ ์คํ ๋ ์ ๋ณด์ ๋๋ก๋ช
์ฃผ์๋ฅผ ๋งคํ์ํจ๋ค.
์ด์ ๋ ์คํ ๋์ ์ขํ๋ฅผ ๋ชจ๋ ์ ๋ ฅํ์๋ค.
๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํด๋ณด์. ๋ณดํต ์ฌ์ฉ์์ ์์น ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒฝ์ฐ gps ์ขํ๋ฅผ ๊ฐ์ ธ์ค๊ฒ ๋๋๋ฐ ์ด๋ WGS ์ขํ๊ณ์ด๋ค. ๋ ์คํธ๋ ์ขํ๋ UTM-K ์ขํ์ด๊ธฐ ๋๋ฌธ์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๊ธฐ ์ํด์๋ ๋ณํ์ด ํ์ํ๋ค. ์ขํ ๋ณํ์ Proj4js ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํด์ ๊ตฌํ๋ฉด ๋๋ค.
if('geolocation' in navigator) {
navigator.geolocation.getCurrentPosition((position => {
Proj4js.reportError = function(msg) { alert(msg); }
Proj4js.defs['GRS80'] = '+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs';
Proj4js.defs['WGS84'] ='+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs';
var GRS80 = new Proj4js.Proj('GRS80');
var WGS84 = new Proj4js.Proj('WGS84');
var utmk = new Proj4js.Point(position.coords.longitude, position.coords.latitude);
Proj4js.transform(WGS84, GRS80, utmk);
document.cookie = "location=" + utmk.x + "|" + utmk.y;
}));
}
์ ์ด์ , ์ฌ์ฉ์ ์์น ์ ๋ณด๋ฅผ UTM-K๋ก ๋ณํํ์์ผ๋ ๋ง๊ป ๊ฑฐ๋ฆฌ ์ ๋ณด๋ฅผ ๊ตฌํ๋ฉด ๋๋ค.
์ต์ข ์ ์ผ๋ก ๋ก์ง์ ์ ๋ฆฌํ์๋ฉด
1ํ์ฑ
๋ ์คํ ๋ ๋๋ก๋ช
์ฃผ์์, ๋๋ก๋ช
์ฃผ์ ์ขํ ์ ๋ณด๋ฅผ ๋งคํํ์ฌ ์ขํ ์ ๋ณด๋ฅผ ๊ตฌํ๋ค.
์ฌ์ฉ์ ์์น ์ ๋ณด๋ฅผ UTM-K ์ขํ๊ณ๋ก ๋ณํํ์ฌ ์ฟ ํค์ ์ ์ฅํ๋ค.
for(๋ชจ๋ ์๋น์ ๋ํ์ฌ ๋ฐ๋ณตํ๋ค.)
1. ํ์ฌ์์น โ ๋ ์คํ ๋ ์์น ๊ณ์ฐ
๊ฑฐ๋ฆฌ๋ฅผ ์ด์ฉํ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
๊ฑฐ๋ฆฌ ๊ตฌํ๊ธฐ ๋!