当用户登录到我的django应用程序时,我试图从IP地址获取用户位置。 但不知道该怎么做。我正在使用GeoIP来达到这个目的。 我的问题是 如何为此目的编写视图,如何在谷歌地图上显示IP的位置。
答案 0 :(得分:1)
我猜你在谈论如何绘制标记,导致GeoIP看起来为你提供经度和纬度。 对于绘图标记教程,您可以在这里查看。
对于谷歌地图的v2 Api
http://econym.org.uk/gmap/basic1.htm
对于谷歌地图的v3 Api。
http://code.google.com/apis/maps/documentation/javascript/tutorial.html
答案 1 :(得分:0)
在Google地图上显示地理位置,您可以使用http://freegeoip.net/json/上的免费地理位置服务并绘制地图点,如下所示:
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