2

Я использую gmap4rails, чтобы нарисовать кучу довольно сложных полигонов, которые служат границами района. У меня есть две вещи, которые мне бы хотелось получить:Полигонные инфополя в Gmaps4Rails

Во-первых, я хочу связать информационное окно с щелчком с этими полигонами. Это пример моего прецедента: https://google-developers.appspot.com/maps/documentation/javascript/examples/polygon-arrays

Я пробовал регистрировать обработчик события click в обратном вызове gmap, но он не работает, и я не думаю, что это правильный подход.

Gmaps.map.callback = function() 
{ 
     console.log("'sup"); 
     var infowindow = new google.maps.InfoWindow 
     ({ 
      content: 'you clicked me!', 
      suppressMapPan:true 
     }); 
     google.maps.event.addListener(Gmaps.map.polygons[0], 'click', function() 
     { 
      console.log("the click event fired"); 
      infowindow.open(map, Gmaps.map.polygons[0]); 
     }); 

} 

Во-вторых, я хотел бы быть в состоянии изменить заполняющей цвет этих многоугольников с помощью JQuery на некоторых пользовательских событий (пользователь щелкает переключатель, например). Как я могу использовать этот камень?

ответ

1

Замените ваш метод с:

Gmaps.map.callback = function() 
{ 
    console.log("'sup"); 
    Gmaps.map.polygons[0].infowindow = new google.maps.InfoWindow 
    ({ 
     content: 'you clicked me!' 
    }); 

    google.maps.event.addListener(Gmaps.map.polygons[0].serviceObject, 'click', function(event) 
    { 
     console.log("the click event fired"); 
     infowindow = Gmaps.map.polygons[0].infowindow; 
     infowindow.setPosition(event.latLng); 
     infowindow.open(Gmaps.map.map); 
    }); 

} 

И изменить this gem's js line поставить верно вместо ложной. Я установил значение false, так как мне не понравилось изменение курсора. В любом случае, это должно быть в настройках. Пожалуйста, создайте проблему в github, чтобы я не смог ее исправить.

+0

Просто попробовал, и это сработало, как шарм. Спасибо чувак! –

+0

Добро пожаловать :) – apneadiving

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