1

おしべのタイルをGmaps4railsと統合する方法を誰かが理解しましたか?google.mapsはGmaps4Railsgemで明示的に呼び出されないため、少し混乱します。必要な情報をフックする方法についてのアドバイスがあればいいのですが。

4

1 に答える 1

1

gmaps4rails を使用して、OSM タイルで滑りやすいマップを作成する (大まかな) 方法を見つけました。雄しべマップを使えばさらに簡単に見えるはずです。ここで私のソリューションを見ると、gem でこれを機能させる方法のヒントが見つかるかもしれません: gmaps4rails の滑りやすいマップ

私は雄しべの地図に出くわしたことがありませんでした。彼らはすばらしく見えます。ヨーロッパではテレイン マップが利用できないのが残念です。明日それで遊んで、もっとわかるかどうか見てみましょう。

編集:

このgmaps4rails.base.js.coffeeメソッドを追加します。

 #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")

水彩画や地形が必要な場合はtoner、好きなものに交換する必要があります (TileUrl を含む!)。

この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

最後に、ビュー コードを次のように変更します。

 <%= 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}}'}) %>

これを行うにはもっときれいな方法があると確信していますが、うまくいくようです。

于 2012-07-11T22:55:43.070 に答える