OpenLayers Rails Plugin 使用

本文介绍如何使用MapLayer插件为Web应用添加地图功能。步骤包括安装ruby插件、创建Controller和View、添加图层和控制组件等。同时,文中还讨论了两种实现方式及其优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[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 下面的添加方法

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用前面一种方法,这样比较容易控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值