2012-12-12 2 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

많은 사람에게 감사드립니다! –

관련 문제