2016-09-30 2 views
-2

Я пишу программу для нефтегазовой промышленности, которая позволяет вам видеть, включен или выключен насос-дроссель с помощью удаленной логической платы на сайте, который затем передает информацию через интернет 4G. Я пытаюсь создать его таким образом, чтобы значок на карте был красным или зеленым в зависимости от того, сработала ли тревога на плате. путь к файлу для тревоги может быть достигнут с помощью статического IP, как, например:Изменение значка с помощью оператора «if» в Картах Google

http://111.111.111.111/var/rmsdata/alarm1

этого путь к файлу либо дает значение 1 или 0

Как перевести это значение 0 или 1 в оператор if, который изменит значок в зависимости от значения?

Вот мой код для одной из иконок:

 function initialize() { 


     var map_canvas = document.getElementById('map_canvas'); 
     var map_options = { 
      center: new google.maps.LatLng(50.242913, -111.195383), 
      zoom: 14, 
      mapTypeId: google.maps.MapTypeId.TERRAIN 


     } 
     var map = new google.maps.Map(map_canvas, map_options); 

     var point  =  new google.maps.LatLng(47.5, -100); 
     var derrick1 =  new google.maps.Marker ({ 
      position: new google.maps.LatLng(50.244915, -111.198540),  
      map: map, 
      icon: 'on.png', 
      size: new google.maps.Size(20, 32), 
      title: '1' 

     }) 



     google.maps.event.addDomListener(window, 'load', initialize); 
    

ответ

1

Я делаю простой запрос Ajax для данного URL и баз на значке на ответ. Этот код не проверен, и я мог бы его улучшить. Но он, надеюсь, укажет вам в правильном направлении.

function initialize() { 
    var url = 'http://111.111.111.111/var/rmsdata/alarm1'; 
    var map_canvas = document.getElementById('map_canvas'); 
    var map_options = { 
     center: new google.maps.LatLng(50.242913, -111.195383), 
     zoom: 14, 
     mapTypeId: google.maps.MapTypeId.TERRAIN 
    }; 
    var map = new google.maps.Map(map_canvas, map_options); 

    // Make an ajax request for the url that you specified above and base your icon on the response. 
    $.get(url, function(response) { 
     var on = true; 

     if (isNaN(response)) { 
      // If the response would contain anything else but a number. 
      console.log('Response is not a number, defaults to "on"'); 
     } else { 
      // Converts the "0" to "false" and anything else to "true". 
      on = !!+response; 
     } 

     var point = new google.maps.LatLng(47.5, -100); 
     var derrick1 = new google.maps.Marker({ 
      position: new google.maps.LatLng(50.244915, -111.198540), 
      map: map, 
      icon: (on) ? 'on.png' : 'off.png', // Shorthand if-statement to determine the icon. Also called Ternary Operator. 
      size: new google.maps.Size(20, 32), 
      title: '1' 

     }) 
    }); 

    google.maps.event.addDomListener(window, 'load', initialize); 
}