如何使用gmaps4rails gem

时间:2015-05-31 18:27:38

标签: javascript ruby-on-rails google-maps gmaps4rails

我正在使用gmaps4rails gem,rails 4.0.8,underscore.js,我似乎无法使标记过滤器正常工作。它会进行过滤,但一次只能过滤一个类别(刷新整个地图),并且不会保存隐藏的标记。

我的代码基于this example

代码发布在下面:

$(document).ready(function(){
  handler = Gmaps.build('Google');
  handler.buildMap({ internal: {id: 'map'}}, function(){
    var markers_json = <%=raw @hash.to_json %>;
    var markers = handler.addMarkers(markers_json);
    handler.bounds.extendWith(markers);
    handler.fitMapToBounds();
  });
});

// show markers 
function show(category) {

  handler.buildMap({ internal: {id: 'map'}}, function(){
  var markers_json = <%=raw @hash.to_json %>;
  var markers = _.map(markers_json, function(marker_json){
    var marker = handler.addMarker(marker_json);
    _.extend(marker, marker_json);
    return marker;
  });

  _.each(markers, function(marker, index){
    var pin = markers[index];
    if (pin.cat == category) {
      marker.show();
    } 
  });

  handler.bounds.extendWith(markers);
  handler.fitMapToBounds();

});

// check the checkbox, using consulting for testing
document.getElementById(category+'box').checked = true;

}

// hide markers
function hide(category) {
// similar to show, except uses marker.hide(); 
}

function boxclick(box,category) {
  if (box.checked) {
    show(category);
  } else {
    hide(category);
  }
}

我不确定如何保存标记数组,当我尝试构建Map之后(所以没有3个实例)我最终破坏了地图。我一直在尝试不同的方法让过滤器工作,但它让我发疯。

任何建议或指示都会有所帮助。谢谢!

0 个答案:

没有答案