2014-02-14 6 views
0

저는 자바 스크립트에서 매우 새로 운데, 나는 전혀 좋지 않다는 것을 말해야합니다. 내 웹 사이트에는 이벤트의 위치를 ​​입력하는 이벤트 페이지가 있으며 그 옆에 위치를 찾는 마커가있는지도가 필요합니다. 여기 Google지도 API : 지오 코더 및 정보 창

<script type="text/javascript">  
var geocoder; 
var map; 
var marker; 
function initialize() { 
     var paris = new google.maps.LatLng(48.858859, 2.3470599) 
     var lieu1 = new google.maps.LatLng(48.8531128, 2.3493023) 
     geocoder = new google.maps.Geocoder(); 
     var mapOptions = { 
      center: paris, 
      zoom: 12 
     } 
     map = new google.maps.Map(
      document.getElementById('map-canvas'), mapOptions 
     ); 
     /* 
     This works: 
     var contentString = 'Lorem Ipsum'; 
     var infowindow = new google.maps.InfoWindow({ 
      content: contentString, 
      maxWidth: 200 
     }); 
     var marker = new google.maps.Marker({ 
      position: lieu1, 
      map: map, 
      title: 'Lorem Ipsum!', 
      animation: google.maps.Animation.DROP 
     }); 
     google.maps.event.addListener(marker, 'click', function() { 
      infowindow.open(map,marker); 
     });*/ 

     var contentString2 = 'Lorem Ipsum123'; 
     var infowindow2 = new google.maps.InfoWindow({ 
      content: contentString2, 
      maxWidth: 200 
     }); 
     var address = "Paris"; 
     geocoder.geocode({ 'address': address}, function(results) { 
     var marker2 = new google.maps.Marker({ 
      position: results[0].geometry.location, 
      map: map, 
      title: 'Lorem Ipsum!', 
      animation: google.maps.Animation.DROP 
      }); 
     }); 
     google.maps.event.addListener(marker2, 'click', function() { 
      infowindow2.open(map,marker2); 
     }); 
    } 

    function toggleBounce() { 
     if (marker.getAnimation() != null) { 
      marker.setAnimation(null); 
     } else { 
      marker.setAnimation(google.maps.Animation.BOUNCE); 
     } 
    } 


    google.maps.event.addDomListener(window, 'load', initialize);  
</script> 

내 코드, 나는 핑을 떨어 뜨리고과 같은 몇 가지 기능을 추가합니다. 당신에게 :) 감사

답변

2

의심의 여지가 없습니다 ... 당신의 코드

한 가지 문제는, 오류보고가 :

Uncaught ReferenceError: marker2 is not defined 

marker2 변수 때문에이 geocoder.geocode() 방법을 볼 수 밖에 없습니다. 마커 정의 직후에 이벤트 리스너를 이동해야합니다.

geocoder.geocode({ 'address': address}, function(results) { 
    var marker2 = new google.maps.Marker({ 
     position: results[0].geometry.location, 
     map: map, 
     title: 'Lorem Ipsum!', 
     animation: google.maps.Animation.DROP 
     }); 

     google.maps.event.addListener(marker2, 'click', function() { 
      infowindow2.open(map, marker2); 
     }); 
    }); 

표시 자 클릭시 표시됩니다.

+0

고맙습니다. D 신난다. –

관련 문제