使用带有https / SSL的gmaps4rails

时间:2011-07-13 15:22:06

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

我是gmaps4rails的忠实粉丝 - 它很容易将地图添加到我们的网络应用程序中。我现在遇到的唯一问题是,如果您在https页面上使用它,那么您会收到有关混合内容的安全警告。谷歌地图api确实支持https,所以我认为这只是将脚本引用从http更改为https的问题。不幸的是我认为它隐藏在“acts_as_gmappable”语句后面 - 我希望有一个我可以修改的content_for块。

是否有一种简单的方法可以使用https版本的API?

http://code.google.com/apis/maps/documentation/javascript/basics.html#HTTPS

非常感谢,

亚历

2 个答案:

答案 0 :(得分:3)

这不是一个非常明显的标题,但你的解决方案是in the Miscellaneous section of the gem's wiki.

看看:

<%= gmaps( data_hash, enable_css, enable_js) %>

enable_cssenable_js是布尔值。

所以,如果你这样做:

<%= gmaps( data_hash, true, false) %>

它不会加载任何js。他的方式你可以自己添加你想要的任何东西。不要忘记包含gmaps4rails.js文件!

答案 1 :(得分:0)

对于群集标记有问题的人,只需在处理程序初始化之前更改群集图像的图像路径:

    MarkerClusterer.IMAGE_PATH = 'https://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclustererplus/images/m';

我不知道这是否是最好的方式,但至少它是有效的,因为群集标记不再对我页面上的SSL错误没有任何问题。

更新

好吧,这不是最好的方法。这是一个更好的解决方案:

handler = Gmaps.build('Google', {
  markers: {
    clusterer: {
      imagePath: 'https://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclustererplus/images/m'
    }
  }
});