我试图通过他/她的 IP 地址定位用户,然后在谷歌 map 中显示他们。为此目的最好的方法是什么。或者有没有其他方法可以让用户获得纬度/经度并在谷歌 map 中显示它们而不是 IP 地址。
最佳答案
你的问题实际上是2个问题。第一部分是从 IP 地址获取 lat, lng。 AFAIK,谷歌 map api 不提供基于 IP 的地理定位。因此,要在谷歌 map 上显示 IP 地址,您必须首先获取地理位置(作为地址,或作为 lat、lng)。网络上有各种付费和非付费 API 允许您执行此操作,django 本身为此提供了一个实用程序。
文档是 here 。您的用例将实现为:
from django.contrib.gis.utils import GeoIP
g = GeoIP()
lat,lng = g.lat_lon(user_ip)
要么
address = g.city(user_ip)
注意:此实用程序或许多基于 IP 的免费地理定位 API 之一可能不太准确。
至于第二部分,要在谷歌 map 上显示这个位置,你可以查看这个应用程序:
http://code.google.com/p/django-googlemap/
关于django - 试图通过 IP 获取用户位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4091020/