2010-08-23 5 views
0
var markersArray = new Array();  
function clearOverlays(){ 
     if(markersArray){ 
     for (i in markersArray) { 
     markersArray[i].setMap(null); 
     } 
     } 
     } 

이것은 Google지도 v3 설명서에서 꽤 많이 복사되지만 ... 작동하지 않습니다. :/자바 스크립트 Google지도 V3 -이 오버레이 기능이 작동하지 않는 이유는 무엇입니까?

이 기능이 구현되는 곳이다 :

function TCGetLatLong(address){ 
    var geo = new google.maps.Geocoder; 
    var lat; 
    var lng; 

    geo.geocode({'address':address},function(results, status){ 
    if (status == google.maps.GeocoderStatus.OK) { 
    clearOverlays(); 
    addMarker(results[0].geometry.location, true, true, 16, "new", 0, "", ""); 
    } else { 
    alert("Geocode was not successful for the following reason: " + status); 
    } 

    }); 

    } 

이 내가 addMarker 기능에 마커를 추가 비트입니다 :

marker = new google.maps.Marker({ 
    position: location, 
    draggable: draggable, 
    title: "Your new listing", 
    map: map 
    }); 

    markersArray.push(marker); 

    google.maps.event.addListener(marker, 'dragend', function() {  
    infowindow.open(map,marker); 
    document.getElementById('lat').value = marker.position.lat(); 
    document.getElementById('long').value = marker.position.lng(); 
    }); 
    google.maps.event.addListener(marker, 'dragstart', function(){ infowindow.close(); }); 
    infowindow.open(map,marker); 
    google.maps.event.addListener(marker, 'click', function() { 
    infowindow.open(map,marker); 
       }); 

어떤 도움이 우수 할 것입니다 .. . 고맙습니다.

답변

0

아직 답변이 없지만 성가신 주위를 돌아 다니고 있습니다.

0

비슷한 문제가 발생합니다. 맵로드 이벤트가 내 경우에 완료되기 전에 마커 배열이 완전히 채워지지 않았다고 생각합니다. 배열 길이를 읽는 스크립트에서 마지막 명령으로 js 경고를 던졌습니다. 다시 0으로 돌아옵니다. 그러나 페이지로드 후에 클릭하는 명령 단추에 다른 js 경고를 추가하면 1050을 읽을 수 있습니다. 배열에 레코드.

관련 문제