2010-11-19 103 views
0

我尝试从用户登录到我的django应用程序时从IP地址获取用户位置。 ,但不知道如何完全做到这一点。我为此使用GeoIP。 我的问题是 如何为此目的编写视图,以及如何显示IP地址在谷歌地图上的位置。在谷歌地图上显示IP位置

+0

我使用的是Django和GeoIP,并且需要一些关于如何为此目的编写视图的线索 – MajorGeek 2010-11-19 23:49:09

回答

0

显示geoip的一个谷歌地图上你可以http://freegeoip.net/json/使用免费geoip的服务,并绘制地图点如下:

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

示例代码使用python您拨打免费geoip的服务可以在这里找到: https://github.com/jamesrep/geoipard