[b]Map Layer 使用过程[/b]
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 下面的添加方法
4. 在View中添加
GOOGLE_API_KEY 在enviroment.rb 设定
5. 在Controller 中增加新的图层
map_helper 看起来不错,但是还是不如Javascript 来得直接一些。这样有两个选择,一个是直接写一个Javascript 放在 public 目录下面,然后在View中include 进去。
另外一种方法是:直接在Controller 中 通过page << 插入
然后由<%= @map.to_html %>输出。
我更prefer用前面一种方法,这样比较容易控制。
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用前面一种方法,这样比较容易控制。