2014-03-14 2 views
0

Привет, я создал код, в котором пользователь выбирает местоположение, на котором добавляется номер и цвет маркера, а затем выбранный маркер. Есть ли какой-либо возможный способ добавления прослушивателя событий, чтобы сказать, что мышь, поэтому, когда вы наводите указатель мыши на маркер, который он добавил, он позволяет указать цвет или тип. Вот мой код:Маркеры обработки событий Javascript

function dropmarker() 
    { 
var lat = prompt ('Latitude'); var lng = prompt('Longitude'); 
var mark = document.getElementById('mark').value; 
var style = document.getElementById('number').value; 

switch(mark + ' ' + style) 
{ 
    case 'blue one': 
     new google.maps.Marker({ 
      position: new google.maps.LatLng(lat,lng), 
      map:map, 
      icon:'blue1.png' 
     }); 
    break; 
case 'blue two': 
     new google.maps.Marker({ 
      position: new google.maps.LatLng(lat,lng), 
      map:map, 
      icon:'blue2.png' 
     }); 

mark1 = new google.maps.MarkerImage('custom1.png', 
new google.maps.Size(32,37), 
new google.maps.Point(0,0), 
new google.maps.Point(16,35)); 


} 
google.maps.event.addListener(marker, 'mouseover', function() 
{ 
marker.setIcon(mark1); 
}); 

} 

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

Как я могу добавить код, поэтому, когда я наводил указатель мыши на маркер, он меняет цвет?

ответ

1

Вы будете нуждаться, чтобы создать маркер, а затем поместить слушатель созданных маркеров. , например.

var theMarker; 
var icon2 = "imageB.png"; 
var originalIcon; 
switch(mark + ' ' + style) 
{ 
    case 'blue one': 
      theMarker = new google.maps.Marker({ 
         position: new google.maps.LatLng(lat,lng), 
         map:map, 
        icon:'blue1.png' 
        }); 
      originalIcon = 'blue1.png'; 
    break; 
    case 'blue two': 
      theMarker = new google.maps.Marker({ 
        position: new google.maps.LatLng(lat,lng), 
        map:map, 
        icon:'blue2.png' 
        }); 
      originalIcon = 'blue2.png'; 
} 

google.maps.event.addListener(theMarker, 'mouseover', function() 
{ 
    theMarker.setIcon(icon2); 
}); 
google.maps.event.addListener(theMarker, 'mouseout', function() 
{ 
    theMarker.setIcon(originalIcon); 
}); 
+0

кажется, что это не работает. Я получаю логику, она кажется прекрасной, но код мудрый маркер все еще не меняет мышь. damn – user3383939

+0

Я сделал быстрое редактирование. Я изменил строку в обратном вызове слушателя. Вы можете получить JSFiddle своего кода? – user3018981

+0

Это сработало! Благодарю. :)) – user3383939

0

Вы пробовали CSS? Что-то вдоль этих линий:

#mark:hover { color: red} 
+0

эй спасибо за ваш ответ, я не пробовал, но мне нужен код js, чтобы реализовать то, что мне нужно. Однако, спасибо. :) – user3383939

0

нормально, то, возможно, что-то вроде этого:

google.maps.event.addListener(marker, 'mouseover', function() 
{ 
    marker.setIcon(icon2); 
}); 
+0

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

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