2011-04-13 85 views
0
google.maps.Marker.prototype.hide = function() 
{ 
    if (this.div_) 
    { 
     this.div_.style.visibility = "hidden"; 
    } 
}; 
google.maps.Marker.prototype.show = function() 
{ 
    if (this.div_) { 
     this.div_.style.visibility = "visible"; 
    } 
}; 

它不會導致任何錯誤。但是,儘管即時通訊使用它不工作:隱藏和顯示事件標記

marker = new google.maps.Marker({ 
       map: map, 
       draggable: false, 
       position: latlng, 
       title: 'some title' 
      }); 

現在如果有人改變變焦我想要觸發隱藏標記:

google.maps.event.addListener(map, 'zoom_changed', function() { 
      marker.hide(); 
}); 

但它不工作。有人可以幫我解決問題嗎?

回答

1

隱藏標記使用marker.setMap(null);

顯示再次使用marker.setMap(mymap);

編輯:

忘記調用setVisible。這裏是一個工作示例: http://jsfiddle.net/herostwist/v9nmQ/1/

+0

也許它不是最好的解決方案,但它的工作原理。謝謝! – Karol 2011-04-13 15:47:55

+0

@Carlos:'setVisible'不工作? – 2011-04-16 01:01:11

+0

我試着用setVisible方法解決問題。也許我做錯了,但它不起作用。你能提供一些確實有效的代碼嗎?謝謝 – Karol 2011-04-22 11:06:41

0

該API已經包含這樣一種方法:setVisible。通過truefalse