2013-04-17 2 views
0

Я пытаюсь добавить оператор If для изменения параметров функции a для одной конкретной точки, однако код, кажется, применяет первую функцию ко всем точкам, независимо от оператора if ,Оператор 'If' для изменения функции

Код ниже создает новый маркер, а затем выполняет функцию в зависимости от оператора if - по крайней мере, он должен!

Что я делаю неправильно?

function createMarker(point, name, file_name) { 

var blueIcon = new GIcon(G_DEFAULT_ICON); 
      blueIcon.image = "images/mark22.png"; 
      blueIcon.iconSize = new GSize(32, 32); 

      markerOptions = { icon: blueIcon }; 
      var marker = new GMarker(point, markerOptions); 


GEvent.addListener(marker, "click", function() { 

    if (marker.name = 'chester') { 
       marker.openInfoWindowHtml("<a class='text1' href='http://www.merseyrail.org/plan-your-journey/stations/" + file_name + ".aspx' target='_parent'>" + name + " Station</a><br /><font size='2' face='Arial'><i>Click the station name to view more information.</i></font>"); 
       } 

else { 
       marker.openInfoWindowHtml("<img src='images/merseyraillogosmall.png'/><br /><a class='text1' href='http://www.merseyrail.org/plan-your-journey/stations/" + file_name + ".aspx' target='_parent'>" + name + " Station</a><br /><font size='2' face='Arial'><i>Click the station name to view more information.</i></font>"); 
       } 
      }); 

return marker; 
     } 

, а затем дальше:

var point20 = new GLatLng(53.1968, -2.88018); 
     map.addOverlay(createMarker(point20, 'Chester')); 
+1

Просто попробуйте 'если (marker.name == 'Chester') ':) – sinsedrix

+0

Вы когда-либо устанавливаете свойство имени маркера (marker.name = nam e)? – Andre

+0

@ Аndre Нет, я не работал, отлично работает сейчас, спасибо! Не могу поверить, что я пропустил это! – user1595799

ответ

1

Должно быть

if (marker.name == 'chester') 

Не

if (marker.name = 'chester') 
+0

Или даже '===', чтобы быть действительно строгим – NilsH

+0

И в дополнение к ответу Deepu, он чувствителен к регистру, поэтому, если вы создадите «Честер», это все равно не сработает, потому что вы сравните с «chester»;) – Xavjer

+0

Сортировка работ , но теперь он обходит утверждение «if», применяя инструкцию «else» для всех, включая Chester, - я изменил его на: if (! marker.name == 'chester), но все равно ничего. – user1595799

Смежные вопросы