Ruby on Rails ym4r_gm Карты Google - PullRequest
       1

Ruby on Rails ym4r_gm Карты Google

0 голосов
/ 16 февраля 2011

Я использую ym4r_gm для создания карты маркеров на моем сайте. Я создал 1 маркер, который подходит для следующего кода.

@map = GMap.new("locations_map")
@map.control_init(:large_map => true,:map_type => true)
geocode = GMap::Geocoding.get("G12 8BZ")
@map.record_init @map.add_overlay(GMarker.new([geocode.first.latitude,geocode.first.longitude], :title => "Hillhead, Glasgow", :info_window =>"Hillhead, Glasgow"))

Как мне получить группу маркеров для отображения на карте? У меня есть массив почтовых индексов (почтовых индексов), например, так:

postcodes = ["G11 6PR", "G1 T3R", "G12 8BZ"]

Я заметил класс MarkerGroup в ym4r_gm, но не могу понять: -S

Если бы вы, кто-то, могли бы помочь мне, это было бы замечательно, вот ссылка на документы.

http://ym4r.rubyforge.org/ym4r_gm-doc/

Любая помощь будет оценена.

Приветствия

Eef

1 Ответ

0 голосов
/ 17 февраля 2011

Не уверен насчет ym4r_gm, но с ym4r_mapstraction это было бы примерно так (хотя это было бы доступно и для ym4r_gm, и для ym4r_mapstraction, поскольку я не думаю, что у ym4r_mapstraction есть удобный помощник по геокодированию)

 @map = Mapstraction.new("map_div", :google)         
 @map.control_init(:small_map => true, :map_type => true)

   postcodes.each do |this_postcode|
     begin
        # might want to put the Geocoding part into a begin-rescue clause
        # in case postcode isn't valid

        returned_geocode = GMap::Geocoding.get(this_postcode)
        this_title = this_postcode
        new_marker = Marker.new([returned_geocode.first.lat.to_f, returned_geocode.first.lon.to_f], :info_bubble => this_title, :icon => "images/gmaps/blue_image.png")
        blue_markers.push(new_marker)
      rescue Exception => e
        logger.error e.inspect
      end
   end
 @map.marker_group_global_init(MarkerGroup.new(blue_markers, true),"BLUE")
...