2010-10-14 9 views
14

के लिए सर्वश्रेष्ठ ज़िप कोड प्लगइन मुझे ज़िप कोड से शहर और राज्य ढूंढना होगा। क्या कोई भी एक अच्छी प्लगइन/एपीआई जानता है जिसे मैं ऐसा करने के लिए उपयोग कर सकता हूं?रूबी

उत्तर

19
gem install geokit 

आईआरबी में:

require 'geokit' 
geo = GeoKit::Geocoders::MultiGeocoder.multi_geocoder('90210') 
if geo.success 
    geo.state # => CA 
    geo.city # => Beverly Hills 
end 
+0

सबसे उत्कृष्ट पकड़! मैं geokit के बारे में भूल गया। –

+1

https://github.com/geokit/geokit – scarver2

0

जेसन के जवाब देखें। यह अच्छी तरह से काम करता है।


समस्या यह है कि USPS उनके ज़िप कोड सूचियों के बल्क डाउनलोड की अनुमति नहीं है, जब तक कि आप इसके लिए भुगतान करते हैं। गूगल के एपीआई, जो मणि Splashlin ने उल्लेख में प्रयोग किया जाता है, अब, शहर और राज्य का समर्थन करने लगता है बजाय अब यह क्षेत्र कोड प्रस्तुत करती है:

require 'open-uri' 
require 'json' 

json = JSON::parse(open('http://maps.google.com/maps/geo?q=852581').read) 
puts json 
# >> {"name"=>"852581", "Status"=>{"code"=>602, "request"=>"geocode"}} 

इस पृष्ठ में कुछ तरीकों से आप अपने खुद के रोल कर सकता है पता चलता है। डेटा के स्रोतों हालांकि वर्तमान नहीं हो सकता है:

http://www.ruby-forum.com/topic/48815

7

एक और अधिक हल्के विकल्प Area gem है।

require 'area' 

'11211'.to_region #=> "Brooklyn, NY" 
+2

बस कार्यान्वित क्षेत्र, और कहना होगा - यह बहुत बढ़िया है! geokit से एपीआई के लिए बहुत ज्यादा महसूस कर रहा हूँ। –

+1

यदि क्षेत्र आपकी जियोकोडिंग आवश्यकताओं को कवर करता है, तो यह वास्तव में एक अच्छा मणि है। – theIntuitionist

+0

हे। एक लाइब्रेरी जो स्ट्रिंग जैसे कोर क्लास को संशोधित करती है वह कुछ नहीं है जिसे मैं "लाइटवेट" कहूंगा। – Dogweather