current.addEventListener(‘click’, function() {
if (navigator.geolocation) {
// GeoLocation을 이용해서 접속 위치를 얻어옵니다
navigator.geolocation.getCurrentPosition(function(position) {
var lat = position.coords.latitude, // 위도
lon = position.coords.longitude; // 경도
var locPosition = new kakao.maps.LatLng(lat+0.0048, lon+0.0304); // 마커가 표시될 위치를 geolocation으로 얻어온 좌표로 생성합니다
if (map.getCenter() != locPosition) {
createMarker(locPosition);
} else {
createMarker(null);
}
map.panTo(locPosition);
alert(locPosition);
});
} else { // HTML5의 GeoLocation을 사용할 수 없을때 마커 표시 위치와 인포윈도우 내용을 설정합니다
message = '위치를 찾을 수 없습니다.';
alert(message);
}
});
위 코드로 작성을 했습니다.
클릭하면 내 위치로 이동하고 마커를 생성합니다.
그런데 클릭할 때마다 마커가 중복 생성이 됩니다.
저는 마커가 한 번 생성되게 만들고 싶어서 if 로 getCenter로 현재 값을 가져와서
비교 후 같으면 생성이 안되게 다르면 생성이 되게 하려고 했지만 getCenter의 값과 경도 위도를 가져온 값이 미세하게 달라서 계속 생성이 되더라구요.
한 번만 생성되게 하려면 어떻게 하면 좋을까요?