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});
4

1 に答える 1

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. 1つのタイムゾーンでのみ機能します。
  2. now -= 2必要に応じて、冬の節約で現地時間に合わせて変更する必要があります。
  3. 境界値の調整が必要になる場合があります。
于 2012-12-12T20:01:38.123 に答える