2009-02-27 10 views
11

मैं वर्तमान में एक शो लिस्टिंग वेबसाइट पर काम कर रहा हूं। मैं अलग-अलग तरीकों से क्रमबद्ध उपयोगकर्ता के लिए स्थान के आधार पर शो जानकारी प्रदर्शित करने जा रहा हूं।मैं स्वचालित रूप से उपयोगकर्ता का स्थान कैसे ढूंढूं?

मैं जानता हूँ कि मैं उपयोगकर्ता को उसके निवास जब वे पहली बार साइट में प्रवेश स्थित हैं पूछ सकते हैं, लेकिन मैंने देखा है कि कई साइटों इस क्षमता में बनाया गया है स्थान स्वचालित रूप से पता लगाने के लिए (उदाहरण के लिए, Last.fm "घटनाक्रम देखें: आपके क्षेत्र में कॉन्सर्ट लिस्टिंग ")।

वे यह कैसे करते हैं? मैं वर्तमान में रूबी पर रूबी में अपनी वेबसाइट का निर्माण कर रहा हूं।

+0

अपनी पसंद के कुछ उत्तरों को ऊपर उठाना न भूलें, और संभवतः एक स्वीकृत उत्तर को चिह्नित करें। लोग हमेशा प्रोत्साहन का उपयोग कर सकते हैं। – GEOCHET

+0

मैंने तीन उत्तरों उठाए। लेकिन कोई भी सबकुछ वोट दे रहा है। – CodingWithoutComments

+0

@ कोडिंग: दिलचस्प। फिर, अच्छा सवाल ले लो। – GEOCHET

उत्तर

9

यहाँ प्रासंगिक गूगल मैप्स एपीआई पर दस्तावेजीकरण के लिए एक लिंक है दे सकता है

/** 
* Set the currentState_ and currentCountry_ properties based on the client's 
* current location (when available and in the US), or to the defaults. 
*/ 
InTheNews.prototype.setDefaultLocation_ = function() { 
    this.currentState_ = this.options_.startingState; 
    if (google.loader.ClientLocation && 
     google.loader.ClientLocation.address.country_code == "US" && 
     google.loader.ClientLocation.address.region) { 

    // geo locate was successful and user is in the United States. range 
    // check the region so that we can safely use it when selecting a 
    // state level polygon overlay 
    var state = google.loader.ClientLocation.address.region.toUpperCase(); 
    if (InTheNews.stateNames[state]) { 
     this.currentState_ = state; 
    } 
    } 
    this.currentCountry_ = "US"; 
} 

और आपको बताता है कि आप इससे क्या प्राप्त करेंगे:

जब आबादी, google.loader.ClientLocation वस्तु निम्नलिखित मेट्रो-स्तरीय विवरण के स्तर को गुणों के साथ आबादी है:

  • ClientLocation.latitude - ग्राहक के आईपी पते

  • ClientLocation.longitude के साथ जुड़े कम संकल्प अक्षांश आपूर्ति - आपूर्ति क्लाइंट के आईपी पते से जुड़े कम रिज़ॉल्यूशन रेखांश

  • ClientLocation.address.city - वें का नाम प्रदान करता है ई ग्राहक के आईपी पते

  • ClientLocation.address.country के साथ जुड़े शहर - ग्राहक के आईपी पते

  • ClientLocation.address.country_code के साथ जुड़े देश के नाम की आपूर्ति - जुड़े आईएसओ 3166-1 देश कोड के नाम की आपूर्ति ग्राहक के आईपी पते

012 के साथ जुड़े देश के विशिष्ट क्षेत्र के नाम की आपूर्ति - ग्राहक के आईपी पते

  • ClientLocation.address.region साथ

  • +0

    यह अच्छा धन्यवाद है। – CodingWithoutComments

    +0

    मैं समुदाय के लिए नया हूं, इसलिए यह आधार से दूर हो सकता है, लेकिन पेज से स्निपेट को मूल रूप से उत्तर में कैसे जोड़ता है? उसे अभी भी एपीआई का उपयोग करने के लिए लिंक पर क्लिक करना होगा, है ना? – runako

    +1

    @runako: विचार एसओ के लिए जानकारी से भरा विकी होना है। तो लिंक रखना एक महान शुरुआत है, लेकिन किसी को एक अच्छा सिर शुरू करने के लिए एक गुच्छा अधिक जानकारी देना बेहतर है। – GEOCHET

    0

    आप आईपी स्थान के लिए MaxMind's GeoLite सोल्यूटन देखना चाहेंगे। एक खुला स्रोत समाधान।

    +0

    मीठा। बहुत बहुत धन्यवाद। – CodingWithoutComments

    0

    वास्तव में यह भौगोलिक स्थिति को खोजने के लिए बेहतर तरीका है, क्योंकि ब्राउज़र देशी रूप जियोलोकेशन के लिए W3C एपीआई का समर्थन करेंगे ... आप GeoMereLaal की जांच करनी चाहिए एक नया तरीका है,।

    0

    http://humbuckercode.co.uk/licks/gems/geoip/ मैक्समिन्ड्स मुक्त या भुगतान पुस्तकालयों का उपयोग करके एक साधारण मणि है।

    आसान यो सेट अप, कोई स्कीमा अपडेट की आवश्यकता नहीं है।

    संबंधित मुद्दे