我正在使用gmap4rails绘制一堆相当复杂的多边形作为区域边界。我有两件事需要帮助:
首先,我想将点击信息窗口与这些多边形相关联。这是我的用例示例:https://google-developers.appspot.com/maps/documentation/javascript/examples/polygon-arrays
我已经尝试在gmap的回调中注册一个click事件处理程序,但它不起作用,我不认为这是正确的方法。
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在某些用户事件上更改这些多边形的填充颜色(例如,用户单击一个复选框)。我怎样才能使用宝石?
答案 0 :(得分: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更改为true而不是false。我确实设置为false,因为我不喜欢光标更改。无论如何它应该在配置选项中。请在github上创建一个问题,以便我记得修复它。