我正在开发一个Django项目,我需要获取用户当前位置的经度和纬度。我正在使用 geopy :
from geopy.geocoders import Nominatim
geolocator = Nominatim()
location = geolocator.geocode("175 5th Avenue NYC")
print((location.latitude, location.longitude))
但在上面的情况下,我手动添加地址,但根据我的要求,我想自动获取用户的地址。
答案 0 :(得分:1)
Hostip.info是一个开源项目,其目标是构建/维护将IP地址映射到城市的数据库。他们的关于页面解释了依赖于填充此数据库的数据源。
使用HostIP,有两种方法可以从IP地址获取位置数据:
他们还有一个设计良好且易于使用的RESTFUL API:只需在GET请求字符串中的i p = 之后传入您的IP地址):
import urllib
response = urllib.urlopen('http://api.hostip.info/get_html.php?ip=12.215.42.19&position=true').read()
print(response);
答案 1 :(得分:1)
您可以尝试HTML5 geolocation,也可以使用Google Places提供自动填充地址字段,该字段会返回有关所提供地址的详细信息。
您可以使用geocomplete插件获取使用Google Maps API的用户地址,并提供易于访问的自动填充功能和其他功能。查看示例here。