Google Maps v3 API Наведите курсор мыши на полигоны? - PullRequest
25 голосов
/ 17 ноября 2009

Я строю карту с помощью API Google v3, потому что это намного быстрее. По сути, это карта местности с примерно 30 городами с полигонами над регионами. Когда пользователь наводит курсор на город, я хочу, чтобы fillColor стал светлее, а затем при наведении мыши вернулся в нормальное состояние. когда пользователь щелкает, он перенаправляет их на другую страницу.

Событие щелчка работает просто отлично. Но, просматривая документацию по API v3, кажется, что Google реализовал щелчок, двойной щелчок, перемещение мышью, mousedown и mouseup как триггеры событий, но не при наведении курсора, или при наведении курсора, или при отключении мыши.

В самом деле? Geez. Я думаю, что снова и снова будет более высокий приоритет, чем вниз и вверх.

Во всяком случае, кто-нибудь еще сталкивался с этим? Я ошибся? Или есть обходной путь?

Заранее благодарю за помощь, Стефани

Ответы [ 4 ]

40 голосов
/ 28 июля 2010

работают следующие работы:

google.maps.event.addListener(polygon,"mouseover",function(){
 this.setOptions({fillColor: "#00FF00"});
}); 

google.maps.event.addListener(polygon,"mouseout",function(){
 this.setOptions({fillColor: "#FF0000"});
});
2 голосов
/ 08 июля 2010

В Google Maps API V3 у меня есть ролловер для многоугольника с кодом ниже. Мне не нравится, что я должен сбрасывать и сбрасывать карту каждый ролловер, но на данный момент, таким образом, я добился наведения мыши.

Меня интересуют любые комментарии по улучшению этого кода.

var polyShape     = new google.maps.Polygon({paths:polyData,strokeColor:"#aa0",strokeOpacity:0.5,strokeWeight:1,fillColor:"#cc0",fillOpacity: 0.25});
var polyShapeOver = new google.maps.Polygon({paths:polyData,strokeColor:"#cc0",strokeOpacity:0.5,strokeWeight:1,fillColor:"#ff0",fillOpacity: 0.25}); 

polyShape.setMap(map);

google.maps.event.addListener(polyShape,"mouseover",function(){
  this.setMap(null);
  polyShapeOver.setMap(map);
}); 

google.maps.event.addListener(polyShapeOver,"mouseout",function(){
  this.setMap(null);
  polyShape.setMap(map);
});
1 голос
/ 24 ноября 2009

События API Карт V3 определяются для каждого объекта. Выполнение поиска на справочной странице V3 показывает, что Маркер является единственным объектом с определениями для наведения и наведения мыши. Так что да, вы, похоже, правы.

Кстати, есть люди, которые делают это, но это выглядит довольно запутанно:

http://groups.google.com/group/Google-Maps-API/browse_thread/thread/4ddc4f5888994563

0 голосов
/ 21 июня 2010

mouseover и mouseout теперь реализованы в V3 Polyline .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...