2010-11-24 5 views
4

Google지도를 '새로 고침'한 후 문제가 생겼습니다. 직접 마커에 배치 할 수 없습니다 (클릭). 그러나지도를 새로 고치기 전에 (초기화로) 클릭하여 마커를 배치 할 수 있습니다. 코드에 어떤 문제가 있는지 알 수 있습니까? 내가 정확히, 당신이 refreshMap 함수를 호출 한 후지도가 작동하지 않는 것을 말하는 문제를 이해한다면Google지도를 새로 고침하면 마커를 추가 할 수 없습니다.

다음은

//Initialize the map 
function initialize() { 
    var myLatlng = new google.maps.LatLng(2,110); 
    var myOptions = { 
     zoom: 3, 
     center: myLatlng, 
     mapTypeId: google.maps.MapTypeId.HYBRID 
    }; 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    infowindow = new google.maps.InfoWindow({ 
     content: "loading..." 
    }); 
} 

// Listen for click for markers 
function marker() 
{ 
    google.maps.event.addListener(map, 'click', function(event) { 
     addMarker(event.latLng); 
    }); 
} 

// Place markers in by click 

function addMarker(location) { 
    marker = new google.maps.Marker({ 
     position: location, 
     map: map, 
     title:"Specified Location", 
     icon: 'images/greenPoint.png' 
    }); 
    markersArray.push(marker); 
} 


function refreshMap() 
{ 
    var myLatlng = new google.maps.LatLng(1.1,107); 
    var myOptions = { 
     zoom: 4, 
     center: myLatlng, 
     mapTypeId: google.maps.MapTypeId.HYBRID 
    }; 
    map = new google.maps.Map(document.getElementById("map_canvas"), 
    myOptions); 
} 

답변

0

... 내 코드입니다. 두 번째로 map 변수가 다른 범위에있는 범위 지정 문제와 같은 것으로 들립니다. 이 줄을 넣어보십시오 :

var map = null; 

를 파일의 맨 위에의 map 참조 모두 같은 글로벌 map 변수에 있는지 확인합니다.

+0

안녕 콜린,하지만 난 이미 VAR지도를 뒀다 ; 위에 글로벌 변수로. –

1

처음에 새로운 google.maps.Map 객체를 만드는 이유는 무엇입니까? 당신의 markersArray 여기에서 방법을 사용하여지도를 취소 할 수 있어야 사용

function refreshMap() 
{ 
    var myLatlng = new google.maps.LatLng(1.1,107); 
    var myOptions = { 
     zoom: 4, 
     center: myLatlng, 
    }; 
    map.setOptions(myOptions); 
} 
+0

안녕하세요 에릭. 아마도 내 질문을 더 분명하게 들리지 않았습니다. 예를 들어,지도를 초기화 한 후에 일부 마커를 배치했습니다. 그런 다음 refreshMap() 버튼을 누르면 (마커를 모두 지울 수 있습니다) 마커() 함수를 다시 누르면 마커를 다시 놓을 수 있습니다 ... 왜냐하면 내가 한 일 때문에 이제지도를 새로 고친 후 마커를 추가하는 함수를 누르면 전혀 추가 할 수 없었습니다 .. 감사합니다. –

관련 문제