2013-05-23 4 views

답변

1

geocode gem을 사용할 수 있습니다. 풍부한 기능을 갖추고 있으며 레일 및 기타 랙 기반 프레임 워크를 크게 지원합니다. 당신은 또한 그 프레임 워크 외부의 API와 콘솔 ()에서 사용할 수 있습니다. 콘솔에서 작은 샘플 :

geocode 67.99.163.76 

위도 : 42.7684

경도 : -78.8871

전체 주소 : 버팔로, NY 14260, 미국

도시 : 버팔로

시 /도 : 뉴욕

우편 번호 : 14260

국가 : 미국

구글지도 : http://maps.google.com/maps?q=42.7684,-78.8871

당신은 쿼리 freegeoip에 의해 표준 라이브러리만을 사용하지 않고 그것을 할 수 있습니다 :

require 'net/http' 
require 'json' 
ip = "67.99.163.76" 
uri = URI.parse("http://freegeoip.net/json/#{ip}") 
client = Net::HTTP.new(uri.host, uri.port) 
res = JSON.parse(client.get(uri.request_uri).body) 
puts res["country_name"] 
+0

감사합니다. SSB. 지오 코드 젬을 사용하지 않고 코드를 작성하려면 어떻게해야합니까? 실제로 모든 응용 프로그램에서이 기능을 구현하고 싶지는 않습니다. 하나의 루비 파일 솔루션을 찾고 있습니다. – rajwar

+0

@rajwar freegeoip.net과 함께 표준 라이브러리를 사용하는 예제를 추가했습니다 –

+0

답장을 보내 주신 SSB에게 다시 한 번 감사드립니다. 이것은 내가 바라는 것과 정확히 일치합니다. – rajwar

관련 문제