首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gmaps4Rails与图章地图的集成

Gmaps4Rails与图章地图的集成
EN

Stack Overflow用户
提问于 2012-07-06 13:06:18
回答 1查看 364关注 0票数 1

有没有人想出了如何将Stamen tiles与Gmaps4rails集成在一起?这有点令人困惑,因为在Gmaps4Rails gem中没有显式地调用google.maps。我希望有任何关于如何挂钩所需信息的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-12 06:55:43

我已经找到了一种(粗略的)方法来使用gmaps4rails创建一个带有OSM瓦片的滑动地图。从外观上看,使用雄蕊图应该更容易。您可能会在这里找到一些如何使用gem的提示,请查看我的解决方案:Slippy maps for gmaps4rails

我以前没见过雄蕊图。它们看起来棒极了。遗憾的是,欧洲没有提供地形图。我明天会玩它,看看我能不能找到更多。

编辑:

gmaps4rails.base.js.coffee中添加此方法:

代码语言:javascript
复制
 #creates a Stamen Map layer with the mapTypeId "toner"
 createStamenMap : ->
  StamenMapTypeOptions = new google.maps.ImageMapType(
    getTileUrl: (coord, zoom) ->
      "http://tile.stamen.com/toner/" + zoom + "/" + coord.x + "/" + coord.y + ".png"
    tileSize: new google.maps.Size(256, 256)
    name: "toner"
    maxZoom: 18
  )
  @serviceObject.mapTypes.set("toner", StamenMapTypeOptions)
  @serviceObject.setMapTypeId("toner")

如果你想要水彩或者地形,你需要根据你的喜好(包括在TileUrl中!)来替换上面写着toner的地方。

js_builder.rb中,像这样向您的方法添加一个调用

@js << "#{gmap_id}.createStamenMap();"

就在@js << "#{gmap_id}.initialize();"之后。

如果你像我一样使用rvm,js_builder.rb将不会在你的应用目录中,对我来说,它在/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/gmaps4rails-1.5.2

最后,像这样更改视图代码:

代码语言:javascript
复制
 <%= gmaps("markers" => {"data" => @json},
                "map_options" => {"type" => "TERRAIN", :raw => '{mapTypeControlOptions: {mapTypeIds: ["toner", google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.TERRAIN], style: google.maps.MapTypeControlStyle.DROPDOWN_MENU}}'}) %>

我相信有一种更好的方法可以做到这一点,但它似乎是有效的。

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

https://stackoverflow.com/questions/11356128

复制
相关文章

相似问题

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