2011-08-09 1 views
4

레일즈 3.0.9에서 gmaps4rails를 사용하고 있습니다. 지도에 위도와 경도 좌표를 기준으로 표식을 추가하고 싶지만 어떻게해야하는지 알 수 없습니다. 필자는 andress 만 사용하여지도를 사용할 수있었습니다. 감사.gmaps4rails는 위도와 경도를 기반으로 위치를 표시합니다.

의 I가 사용하고 코드 :

응용 프로그램/모델/location.rb

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

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

응용 프로그램/컨트롤러/locations_controller.rb

def index 
@json = Location.first.to_gmaps4rails 

respond_to do |format| 
    format.html 
end 

응용 프로그램/뷰/locations/index.html.erb

<%= gmaps4rails(@json) %> 

location 모델에는 latitude, longitude, address 필드가 포함되어 있습니다.

업데이트 : 마커에 대한 프로젝트 위키를 한 번 더 읽은 다음 해결책을 찾았습니다. 해결책은 맞춤 <%= gmaps %> 방법을 사용하는 것입니다. 나는이처럼 사용하는 관리 :

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

를 컨트롤러에서 : 당신이 원하는대로

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

당신은이 값을 사용자 정의 할 수 있습니다.

+0

gmaps4rails보다 훨씬 더 좋은 생각 지금? –

+4

좋은 문서를 읽었습니다. +1 : – apneadiving

답변

0

내가 대신 gmaps4rails의 지오 코더 보석을 시도해야한다고 생각 https://github.com/alexreisner/geocoder http://www.rubygeocoder.com/

나는 당신이 코드를 게시 할 수 사용하는

+0

덕분에 도움이되었습니다. – SpeedyWizard

+2

@AlexanderGiraldo 내가 틀릴 수도 있지만 '지오 코더'를 사용하여지도에 주소를 표시 할 수 있다고 생각하지 않습니다. – mrudult