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

这是非常复制谷歌地图v3文档...但它不起作用。 :/Javascript谷歌地图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记录在数组中。