구글 맵 이벤트

마커를 클릭하여 확대

전 페이지의 지도를 여전히 사용합니다: 영국 런던을 중심으로 한 지도.

지금, 사용자가 마커를 클릭할 때 확대하려고 합니다(마커에 이벤트 처리기를 추가하여 클릭 시 지도를 확대합니다).

이 코드를 추가합니다:

예제

// 마커를 클릭할 때 확대까지 9
google.maps.event.addListener(marker,'click',function() {
  map.setZoom(9);
  map.setCenter(marker.getPosition());
});

우리는 addListener() 이벤트 처리기를 사용하여 이벤트 알림을 등록합니다. 이 메서드는 다음과 같은 매개변수를 받습니다:

  • 객체
  • 참조할 이벤트
  • 이벤트가 발생할 때 호출되는 함수

마커로 돌아가서 이동

여기서, 우리는 확대 변경을 저장하고 3초 후에 지도를 이동시킵니다:

예제

google.maps.event.addListener(marker,'click',function() {
  var pos = map.getZoom();
  map.setZoom(9);
  map.setCenter(marker.getPosition());
  window.setTimeout(function() {map.setZoom(pos);},3000);
});

마커를 클릭할 때 정보 창이 엽니다

마커를 클릭하면 텍스트를 포함한 정보 창이 표시됩니다:

예제

var infowindow = new google.maps.InfoWindow({
  content: "Hello World!"
});
google.maps.event.addListener(marker, 'click', function() {
  infowindow.open(map,marker);
});

마커를 설정하고 각 마커에 정보 창을 엽니다

사용자가 지도를 클릭할 때 함수가 실행됩니다.

placeMarker() 함수는 사용자가 클릭한 위치에 마커를 배치하고, 해당 마커의 위도와 경도를 포함한 정보 창을 표시합니다:

예제

google.maps.event.addListener(map, 'click', function(event) {
  placeMarker(map, event.latLng);
});
function placeMarker(map, location) {
  var marker = new google.maps.Marker({
    position: location,
    map: map
  });
  var infowindow = new google.maps.InfoWindow({
    content: '위도: ' + location.lat() +
    '<br>경도: ' + location.lng()
  });
  infowindow.open(map,marker);
}