`
szpapas
  • 浏览: 104902 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

OpenLayers Rails Plugin 使用

阅读更多
Map Layer 使用过程

1. 安装
ruby .\script\plugin install http://www.sourcepole.ch/svn/plugins/map_layers/trunk

2.建立Controller 和 View
Create a controller and a view
ruby .\script\generate controller Map index

3.在Controller 下面的添加方法

def index
  @map = MapLayers::Map.new("map") do |map, page|

    page << map.add_layer(MapLayers::GOOGLE)
    page << map.zoom_to_max_extent()

    page << map.add_control(Control::LayerSwitcher.new)    
    page << map.add_control(Control::Permalink.new('permalink'))    
    page << map.add_control(Control::MousePosition.new)
    page << map.add_control(Control::MouseToolbar.new)
    page << 'map.setCenter(new OpenLayers.LonLat(113.31917,  23.14052), 13)'
  end
end


4. 在View中添加
GOOGLE_API_KEY 在enviroment.rb 设定

  <%= map_layers_includes :google => GOOGLE_API_KEY %>
  <div id="map" style="width: 600px; height: 400px;"></div>
  <%= @map.to_html %>


5. 在Controller 中增加新的图层

map_helper 看起来不错,但是还是不如Javascript 来得直接一些。这样有两个选择,一个是直接写一个Javascript 放在 public 目录下面,然后在View中include 进去。

<%= map_layers_includes :google => GOOGLE_MAPS_KEY %>
<div id="map" style="width: 876px; height: 650px;"></div> 
 //Other Web Code here
<%= javascript_include_tag "MapEvent" %> 


另外一种方法是:直接在Controller 中 通过page << 插入
然后由<%= @map.to_html %>输出。


我更prefer用前面一种方法,这样比较容易控制。












分享到:
评论
1 楼 qichunren 2008-09-20  
你说的是什么东西啊?是gg的地图吗?要不,发一个截图上来看看啊。

相关推荐

Global site tag (gtag.js) - Google Analytics