2009-09-02 16 views
5

मूल रूप से जब भी कोई मेरे (Google) मानचित्र को खोलता है, तो मैं इसे अपने अनुमानित स्थान पर डिफ़ॉल्ट चाहता हूं।केंद्र Google मानचित्र geocoded आईपी

क्या Google के एपीआई के साथ ऐसा करने का कोई आसान तरीका है या क्या मुझे एक कस्टम कोड लिखना है (यह पायथन आधारित ऐप है)?

उत्तर

3

http://www.ipinfodb.com/ देखें। आप अपनी सेवाओं को एक आईपी पता पास करके अक्षांश और देशांतर मूल्य प्राप्त कर सकते हैं। मैंने हाल ही में कुछ किया जहां मैंने एक साधारण सेवा बनाई जिसने वर्तमान आईपी पते को पकड़ लिया और फिर इसे सेवा में पास कर दिया ("एपीआई/स्थान/शहर" सिर्फ एक सेवा है जो ipinfodb सेवा को घुमाती है)। jQuery का उपयोग करना:

$.get("api/location/city", null, function(data, textStatus) 
{   
    if (data != null) 
    { 
     if (data.Status == "OK") 
     { 
      var lat = parseFloat(data.Latitude); 
      var lng = parseFloat(data.Longitude); 

      $.setCenter(lat, lng, $.settings.defaultCityZoom); 

      manager = new MarkerManager(map, {trackMarkers : true }); 

      var e = $.createUserMarker(map.getCenter()); 
      e.bindInfoWindowHtml($("#marker-content-event").html()); 

      var m = []; 
      m.push(e); 

      // map.addOverlay(e); 
      manager.addMarkers(m, 10); 
      manager.refresh(); 
     } 
     else 
     { 
      $.setCenter($.settings.defaultLat, $.settings.defaultLng, $.settings.defaultZoom); 
     } 
    } 
}, "json"); 

यहाँ कुंजी इस लाइन है:

$.setCenter(lat, lng, $.settings.defaultCityZoom); 

बस सेवा कॉल का परिणाम के अक्षांश/एलएनजी के लिए केंद्र की स्थापना।

+0

यह अच्छा है लेकिन अब मैं की जरूरत है यह पता लगाने के लिए कि आईपी कैसे प्राप्त करें। – Eeyore

0

प्रति the docs, बस map.setCenter(new GLatLng(37.4419, -122.1419), 13); या जो भी अन्य निर्देशांक। पृष्ठ की जावास्क्रिप्ट में इसे करना आम तौर पर पसंद किया जाता है।

आप अक्षांश और लंबे समय के लिए एक आईपी अनुवाद मतलब है, मैं गूगल एपीआई कि समर्थन करता है, नहीं लगता कि है, लेकिन वहाँ अन्य वेब सेवाओं है कि, इस तरह के , hostip के रूप में, और कई अन्य शामिल हैं। मुझे नहीं पता कि कौन सी सिफारिश करनी है - कुछ कोशिश करें, मेरा सुझाव होगा!

0

यदि उपयोगकर्ता फ़ायरफ़ॉक्स 3.5/google गियर का उपयोग करता है, तो आप ब्राउज़र से लैट और एलएनजी को पुनः प्राप्त कर सकते हैं। आप का विवरण मिलेगा एक और stackoverflow post here

8

आप उपयोग कर सकते हैं गूगल एपीआई में निर्मित ClientLocation वस्तु:

if (GBrowserIsCompatible()) 
{ 
    var map = new google.maps.Map2(document.getElementById("mapdiv")); 

    if (google.loader.ClientLocation) 
    {   
     var center = new google.maps.LatLng(
      google.loader.ClientLocation.latitude, 
      google.loader.ClientLocation.longitude 
     ); 
     var zoom = 8; 

     map.setCenter(center, zoom); 
    } 
} 
+0

किसी कारण से यह मेरे लिए काम नहीं करता है। – Eeyore

+0

मेरे लिए आकर्षण की तरह काम करता है। – zgoda

+0

आपका उत्तर मुझे चाहिए जो मुझे चाहिए। अच्छी नौकरी – Txugo

0

आईपी गूगल मैप्स के लिए पता जियोकोडिंग API: http://web3o.blogspot.com/2011/06/ip-address-geocoding-api-for-google.html

+0

उत्तर जिनमें केवल लिंक हैं [बुरा व्यवहार माना जाता है] (http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links- कहीं--ally- good-answers)। कृपया यहां सामग्री को सारांशित करें (प्रतिलिपि/पेस्ट न करें) ताकि उत्तर स्वयं ही खड़ा हो। यदि आप अपने उत्तर को हटाने का जोखिम नहीं चलाते हैं, खासकर यदि लिंक कभी मर जाता है। –

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