๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐฑ์—”๋“œ/ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

google map api ๋ฅผ ๊ฐ€์ ธ์™€์„œ ์“ธ๋•Œ jsp์—์„œ ์ฃผ์˜ ์‚ฌํ•ญ

by sh119 2024. 3. 21.

1. ์ „์—ญ๋ณ€์ˆ˜ ์„ค์ •๊ณผ initMap(), updateMap() ํ•จ์ˆ˜ ๋”ฐ๋กœ ์ƒ์„ฑํ•ด์ฃผ๊ธฐ

๋™์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ๊ฐ’๋“ค์„ ๋‹ค๋ฅธ๊ณณ์—์„œ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€์ˆ˜๋Š” ๊ผญ! ์ „์—ญ๋ณ€์ˆ˜๋กœ ์„ค์ •ํ•ด์ค€๋‹ค. (ajaxData, map, lat, lng, location ๋“ฑ)

๋˜ํ•œ initMap()์œผ๋กœ ์ฒซ ํŽ˜์ด์ง€ ์ ‘์†์‹œ ๋‚˜ํƒ€๋‚ด์ค„ ์ง€๋„ ๊ฐ’์„ ๋งŒ๋“ค๊ณ  updateMap() ํ•จ์ˆ˜๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด ์ฃผ์–ด

์•„๋ž˜์˜ ajax๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์—์„œ updateMap()ํ•จ์ˆ˜๋ฅผ ๋ถˆ๋Ÿฌ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์—ˆ๋‹ค.

var ajaxData = {};
var map;
var latInput,lngInput,locationInput;

function initMap() {
    map = new google.maps.Map(document.getElementById('map'), {
        center: {lat: 37.497952, lng: 127.027619},
        zoom: 18
    });
}

function updateMap() {
    var latData = parseFloat(latInput);
    var lngData = parseFloat(lngInput);

    map.setCenter({lat: latData, lng: lngData});
}

 

+ ์ถ”๊ฐ€ ์ฃผ์˜ ์‚ฌํ•ญ : latData ๊ฐ’๊ณผ lngData ๊ฐ’ ์ด์šฉ์‹œ ajax์—์„œ๋Š” String์œผ๋กœ ๊ฐ’์„ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์—!!! ๊ผญ Float ๋กœ ๊ฐ’์„ ๋ณ€ํ™˜ํ•˜์—ฌ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๊นŒ๋จน๊ณ  ์ฒ˜์Œ์— ๊ทธ๋Œ€๋กœ ์ผ๋‹ค๊ฐ€ ์—๋Ÿฌ๋‚˜์„œ ๊ณ ์ณค๋‹คใ…œใ…œ parseFloat(ajaxDataString๊ฐ’) ์„ ํ†ตํ•ด ๋ณ€์ˆ˜ ํƒ€์ž… ๋ฐ”๊ฟ”์ฃผ๊ธฐ!