2010-11-19 6 views
0

J'essaie d'obtenir l'emplacement de l'utilisateur à partir de l'adresse IP que l'utilisateur se connecte dans mon application Django. mais je ne sais pas comment le faire exactement. J'utilise GeoIP à cette fin. ma question est comment écrire une vue à cet effet et comment puis-je montrer l'emplacement de l'adresse IP sur une carte google.Afficher l'adresse IP sur Google Map

+0

J'utilise Django et GeoIP et exige un peu d'indice sur la façon d'écrire la vue à cet effet – MajorGeek

Répondre

0

Affichage geoip sur une carte Google, vous pouvez utiliser le service geoip gratuit sur http://freegeoip.net/json/ et tracer les points de la carte comme ci-dessous:

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));    
    } 

Exemple de code pour appeler le service geoip gratuit en utilisant python vous peut trouver ici: https://github.com/jamesrep/geoipard