2011-08-09 3 views
4

J'utilise gmaps4rails avec Rails 3.0.9. Je voudrais ajouter un marqueur basé sur les coordonnées de latitude et de longitude de la carte, mais je n'arrive pas à comprendre comment je devrais le faire. J'ai réussi à utiliser la carte avec un andress seulement. Merci.Emplacement de l'affichage de gmaps4rails en fonction de la latitude et de la longitude

Le code J'utilise:

app/modèles/location.rb

class Location < ActiveRecord::Base 
    acts_as_gmappable :process_geocoding => false 

    def gmaps4rails_address 
    "#{self.latitude}, #{self.longitude}" 
    end 
end 

app/controllers/locations_controller.rb

def index 
@json = Location.first.to_gmaps4rails 

respond_to do |format| 
    format.html 
end 

app/views/emplacements/index.html.erb

Le modèle location contient les champs suivants: latitude, longitude, address

MISE À JOUR: J'ai trouvé la solution après avoir lu le wiki d'un projet sur les marqueurs. La solution consiste à utiliser la méthode personnalisée <%= gmaps %>. J'ai réussi à l'utiliser comme ceci:

<%= gmaps({ 
    "map_options" => { "type" => "ROADMAP", "center_longitude" => 28.9, "center_latitude" => 47.03, "zoom" => 12, "auto_adjust" => true}, 
    "markers" => { "data" => @markers } 
    }) 
    %> 

Dans le contrôleur:

@markers = '[ 
      {"description": "", "title": "", "sidebar": "", "lng": "28.8701", "lat": "47.0345", "picture": "", "width": "", "height": ""}, 
      {"lng": "28.9", "lat": "47" } 
      ]' 

Vous pouvez personnaliser ces valeurs que vous le souhaitez.

+0

Pouvez-vous poster le code que vous utilisez à présent? –

+4

Nice vous lire le doc, +1 :) – apneadiving

Répondre

0

Je pense que vous devriez essayer gem géocodage au lieu de gmaps4rails https://github.com/alexreisner/geocoder http://www.rubygeocoder.com/

Je pense qu'il est beaucoup mieux que gmaps4rails

+0

Merci, cela a aidé – SpeedyWizard

+2

@AlexanderGiraldo Peut-être que je me trompe, mais je ne pense pas que vous pouvez tracer l'adresse sur la carte en utilisant 'Geocoder' – mrudult

Questions connexes