2010-11-19 9 views
0

Ich versuche, den Benutzerstandort von der IP-Adresse abzurufen, wenn sich der Benutzer bei meiner Django-App anmeldet. aber weiß nicht, wie es genau geht. Ich verwende GeoIP für diesen Zweck. meine Frage ist wie schreibe ich eine Ansicht für diesen Zweck und wie kann ich den Standort der IP auf einer Google-Karte anzeigen.IP-Adresse auf Google-Karte anzeigen

+0

Ich verwende Django und GeoIP und benötigen ein wenig Ahnung, wie Sie die Ansicht für diesen Zweck schreiben – MajorGeek

Antwort

0

Zeige geoip auf einer Google-Karte können Sie die kostenlose geoip Dienst auf http://freegeoip.net/json/ nutzen und die Punkte auf der Karte plotten wie folgt:

var geoLocations = getLocations(); 
    var center = getCenter(); 
    var map = new google.maps.Map(document.getElementById('googlemap'), 
    { 
     zoom: 1, 
     center: new google.maps.LatLng(center[0], center[1]), 
     mapTypeId: google.maps.MapTypeId.SATELLITE 
    }); 
    var markerInfo = new google.maps.InfoWindow(); 
    var pointMarker, i; 
    // Go through the location array... 
    for (i = 0; i < geoLocations.length; i++) 
    { 
     // Add the marker. 
     pointMarker = new google.maps.Marker(
      { 
       position: new google.maps.LatLng(geoLocations[i][1], geoLocations[i][2]), 
       map: map 
      }); 
     // Add the information window when clicking the marker 
     google.maps.event.addListener(pointMarker, 'click', (function(pointMarker, i) 
     {  
      return function() 
      { 
       markerInfo.setContent(geoLocations[i][0] + ' -> ' + geoLocations[i][3]); 
       markerInfo.open(map, pointMarker); 
      } 
     })(pointMarker, i)); 

     // Zoom on double click 
     google.maps.event.addListener(pointMarker, 'dblclick', (function(pointMarker, i) 
     {  
      return function() 
      { 
       map.setZoom(17); 
      } 
     })(pointMarker, i));    
    } 

Beispielcode für den kostenlosen geoip Dienst rufen Sie mit Python finden Sie hier: https://github.com/jamesrep/geoipard