다음 지도 클릭 이벤트
본문
다음 지도에 업체들 정보를 불러오는 소스입니다.
현재 지도에 정상적으로 나타납니다.
다만..클릭시 업체 정보가 잘 나오고 있는데 다른 업체를 클릭하면 기존업체와 새로운 업체정보가 나옵니다. 클릭할수록 계속 추가가 되고요...
새로클릭하면 기존업체 정보는 사라질수 있도록 고수님들 부탁드립니다.
아래 클릭이벤트에서 하면 되는 것으로 아는데...잘 모르겠네요...
<script type="text/javascript">
window.onload = function() {
// 지도의 중심
var position = new daum.maps.LatLng(35.8194488476, 127.106373022);
// 기본 지도 표시
var map = new daum.maps.Map(document.getElementById('map'), {
center: position,
level: 4,
mapTypeId: daum.maps.MapTypeId.ROADMAP
});
<?php if (G5_IS_MOBILE) {?>
/*=======================================================
==이 것 은 다 음 A P I 를 통 해 지 도 를 생 성 합 니 다==
========================================================*/
// HTML5의 geolocation으로 사용할 수 있는지 확인합니다
if (navigator.geolocation) {
// GeoLocation을 이용해서 접속 위치를 얻어옵니다
navigator.geolocation.getCurrentPosition(function(position) {
var lat = position.coords.latitude, // 위도
lon = position.coords.longitude; // 경도
var locPosition = new daum.maps.LatLng(lat, lon) // 마커가 표시될 위치를 geolocation으로 얻어온 좌표로 생성합니다
// 마커와 인포윈도우를 표시합니다
geoloca(locPosition);
});
} else { // HTML5의 GeoLocation을 사용할 수 없을때 마커 표시 위치와 인포윈도우 내용을 설정합니다
var locPosition = new daum.maps.LatLng(35.8194488476, 127.106373022)
geoloca(locPosition);
}
// 지도에 마커와 인포윈도우를 표시하는 함수입니다
function geoloca(locPosition) {
// 지도 중심좌표를 접속위치로 변경합니다
map.setCenter(locPosition);
}
<?php }?>
// 지도 콘트론 표시
var zoomControl = new daum.maps.ZoomControl();
map.addControl(zoomControl, daum.maps.ControlPosition.RIGHT);
var mapTypeControl = new daum.maps.MapTypeControl();
map.addControl(mapTypeControl, daum.maps.ControlPosition.TOPRIGHT);
// 다중 마커와 인포윈도우 표시
//위치 정보와 인포윈도우에 표시할 정도
var locations = [
<?php for ($i=0; $row_map=sql_fetch_array($map_result); $i++) {
if($row_map[st_lat]){
if($i>0) echo ",";
?>
[<?php echo $row_map[st_lat]?>, <?php echo $row_map[st_lng]?>, '<div class="DaumMapsContent">' +
'<div class="tl"><?php echo $row_map[st_company]?></div>' +
'</div>']
<?php }
}?>
];
for(i = 0; i < locations.length; i++) {
// 다중 마커
var marker = new daum.maps.Marker({
position: new daum.maps.LatLng(locations[i][0], locations[i][1])
});
marker.setMap(map);
//인포 윈도우
daum.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
var infowindow = new daum.maps.InfoWindow({
content: locations[i][2],
removable : true
});
infowindow.open(map, marker);
}
})(marker, i));
}
};
</script>
답변을 작성하시기 전에 로그인 해주세요.