2012-12-12 73 views
2

我想在時鐘到達晚上10點時更改標記圖標,並在上午6點返回到同一圖標。如何從某處選擇時鐘的正確時間?以及如何把圖標改變這樣的時間 謝謝!如何更改制造商圖標

我的代碼

function initialize() { 

    var mapDiv = document.getElementById('map-canvas'); 
    var map = new google.maps.Map(mapDiv, { 
     center: new google.maps.LatLng(-22.968015,-43.183161), 
     zoom: 16, 
     mapTypeId: google.maps.MapTypeId.ROADMAP  }); 



    var green = 'images/VERDE.png'; 
    var yellow = 'images/AMARELO.png'; 
    var red = 'images/VERMELHA.png'; 



    var marker = new google.maps.Marker({ 
     map: map, 
     position: new google.maps.LatLng(-22.967311,-43.186073),  
     icon: green}); 
+0

圖標變化是否應該自動發生,或者您當時是否會產生一些事件? – Cdeez

+0

你好,我想我必須設置一個時鐘,當頁面刷新時,它會更改圖標..我想在地圖上放一個drogstore,並在其關閉時放置一個綠色圖標,並將其打開並顯示紅色圖標..對不起對於英語不好。 –

回答

1

下面的代碼根據時間改變的標誌物。

var now=new Date().getUTCHours(); 
now -= 2;//Set for Rio Adjust to your time zone 
var startTime = 22;//10 PM 
var finishTime = 6;//6 AM 
var icon; 

function initialize() { 

var mapDiv = document.getElementById('map'); 
var map = new google.maps.Map(mapDiv, { 
    center: new google.maps.LatLng(-22.968015,-43.183161), 
    zoom: 16, 
    mapTypeId: google.maps.MapTypeId.ROADMAP  }); 
var green = 'images/green.png'; 
var yellow = 'images/yellow.png'; 
var red = 'images/red.png'; 
//Choosing icon by time 
if(now >= finishTime&&now < startTime){ 
    icon = green; 
}else { 
    icon = red; 
} 


var marker = new google.maps.Marker({ 
    map: map, 
    position: new google.maps.LatLng(-22.967311,-43.186073),  
    icon: icon}); 

}

注意要點。

  1. 只適用於一個時區。
  2. 如果需要,您將需要更改now -= 2以適應當地時間並節省冬季時間。
  3. 邊界值可能需要調整。
+0

謝謝很多人,完美的作品!! ..只是一件事,我們如何設置切割時間,如19:30h,而不是僅僅是兩個第一「22和6」 –

+0

'new Date()。getUTCMinutes(); '會給分鐘。 –

+0

非常感謝很多人! –