首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将爬虫js与gmaps4rails gem集成?(同一纬度上的多个标记,lng )

如何将爬虫js与gmaps4rails gem集成?(同一纬度上的多个标记,lng )
EN

Stack Overflow用户
提问于 2013-07-26 04:37:38
回答 1查看 338关注 0票数 4

我正在努力尝试将爬行器https://github.com/jawj/OverlappingMarkerSpiderfierhttps://github.com/apneadiving/Google-Maps-for-Rails集成在一起

在我的map.html.haml中:

代码语言:javascript
复制
= gmaps(:markers => {:data => @map, :options => { "rich_marker" => true, :raw => '{ animation: google.maps.Animation.DROP }' } }, :map_options => { :draggable => true, :auto_zoom => false, :zoom => 9, :disableDefaultUI => false, :scrollwheel => true, :disableDoubleClickZoom => true, :custom_infowindow_class => "province" })

- content_for :scripts do
:javascript
    Gmaps.map.infobox = function(boxText) {
        return {
             content: boxText
            ,disableAutoPan: false
            ,maxWidth: 0
            ,pixelOffset: new google.maps.Size(-140, -50)
            ,alignBottom: true
            ,zIndex: 999
            ,hideCloseButton: false
            ,boxStyle: { 
                background: "white"
                ,width: "280px"
                ,padding: "10px"
                ,border: "1px solid #b2b2b2"
                ,arrowStyle: 0
                ,arrowPosition: 50
                ,arrowSize: 20
                 }

            ,infoBoxClearance: new google.maps.Size(10, 10)
            ,isHidden: false
            ,pane: "floatPane"
            ,enableEventPropagation: false

     }};

这很好用,但是如何集成爬行器https://github.com/jawj/OverlappingMarkerSpiderfier#how-to-use呢?

EN

回答 1

Stack Overflow用户

发布于 2015-03-16 23:28:11

这是一个使用旧版本的Gmap 4 Rails的老问题,但是对于任何对在最新版本中使用这两个库感兴趣的人来说,这里是如何做到这一点的。

此示例基于documentation sample code

代码语言:javascript
复制
handler = Gmaps.build('Google');
handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
  markers = handler.addMarkers([
    {
      "lat": 0,
      "lng": 0,
      "picture": {
        "url": "https://addons.cdn.mozilla.net/img/uploads/addon_icons/13/13028-64.png",
        "width":  36,
        "height": 36
      },
      "infowindow": "hello!"
    }
  ]);
  handler.bounds.extendWith(markers);
  handler.fitMapToBounds();

  // Create a OverlappingMarkerSpiderfier instance
  var oms = new OverlappingMarkerSpiderfier(handler.getMap(), {
    keepSpiderfied: true
    // Other options you need
  });

  // Track each marker with OMS
  _.each(markers, function(marker) {
    oms.addMarker(marker.getServiceObject());
  });
});

这里最重要的是深入了解Gmaps4Rails包装在自己的类中的原生Google对象。

如果您需要在标记上使用单击事件,请按照in the doc的说明向oms添加一个处理程序。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17868290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档