【问题标题】:Polygon infowindows in Gmaps4RailsGmaps4Rails 中的多边形信息窗口
【发布时间】:2012-04-16 08:30:42
【问题描述】:

我正在使用 gmap4rails 绘制一组相当复杂的多边形,作为区域边界。我有两件事需要帮助:

首先,我想将点击时的信息窗口与这些多边形相关联。这是我的用例示例:https://google-developers.appspot.com/maps/documentation/javascript/examples/polygon-arrays

我尝试在 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 在某些用户事件上更改这些多边形的填充颜色(例如,用户单击复选框)。我将如何使用 gem 来解决这个问题?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 google-maps-api-3 gmaps4rails


    【解决方案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 上创建一个问题,以便我记得修复它。

    【讨论】:

      猜你喜欢
      • 2012-10-16
      • 2016-03-14
      • 2018-03-11
      • 1970-01-01
      • 1970-01-01
      • 2013-03-03
      • 1970-01-01
      • 1970-01-01
      • 2017-11-29
      相关资源
      最近更新 更多