2012-07-06 3 views
1

Gmaps4rails로 Stamen 타일을 통합하는 방법을 알고있는 사람이 있습니까? goaps.maps가 Gmaps4Rails gem에서 명시 적으로 호출되지 않았기 때문에 다소 혼란 스럽습니다. 필요한 정보를 연결하는 방법에 대한 조언을 원합니다.Gmaps4Ramers와 Stamen Maps

답변

1

나는 gmaps4rails를 사용하여 OSM 타일을 사용하여 슬립 한지도를 만드는 방법을 발견했습니다. 외모에 의해 오시 베, 수술지도가 더 쉬워졌습니다. 여기에 내 해결책을 바라 보는 보석으로 어떻게 작동하는지 몇 가지 힌트를 찾을 수 있습니다. Slippy maps for gmaps4rails

나는 이전에 stamen지도를 보지 못했습니다. 그들은 놀랍다. 지형지도는 유럽에서는 사용할 수 없습니다. 나는 그것과 내일 놀고, 내가 더 많이 발견 할 수 있는지 알 것이다.

편집 : gmaps4rails.base.js.coffee에서

이 방법을 추가

당신이 좋아하는 것을 위해 toner 말한다 어디든지 수채화하거나 교체 할 필요가 지형을 원하는 경우
#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에 포함하여!). js_builder.rb에서

@js << "#{gmap_id}.initialize();" 후이

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

처럼 메소드에 호출을 추가 할 수 있습니다. 당신이 나 같은 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}}'}) %> 

를 내가이 확신 이것을하는 더 예쁜 방법 그러나 그것은 작동하는 것처럼 보인다.

+0

답해 주셔서 감사합니다. 나는 실제로 gmaps4rails를 제거하고 js를 손으로 썼다. 조금 더 단순 해 보였다. 보석이 그 가치가 있다고 생각하니? 나는 그것을 사용하는 것의 어떤 종류의 이익도 정확하게보고 있지 않다. .. – hankang