Python:Django:我如何找到用户的纬度和经度,以便我可以显示用户的位置?
Posted
技术标签:
【中文标题】Python:Django:我如何找到用户的纬度和经度,以便我可以显示用户的位置?【英文标题】:Python: Django: How can i find the users Lattitude and Longitude so that i can show the users location? 【发布时间】:2012-12-20 12:27:19 【问题描述】:有没有可能在django中找到用户的位置。我的意思是有什么办法可以得到纬度和经度,然后是位置。
【问题讨论】:
见What python libraries can tell me approximate location and timezone given an IP address? 【参考方案1】:我不相信 Django 可以直接做到这一点,你可以用 Django 做的就是请求用户的 IP,并从外部使用免费的 web 服务,请求纬度和经度,然后是位置
例如...简单的python代码:
IP_URL = "http://api.hostip.info/?ip="
def get_coords(ip):
url = IP_URL + ip
respond = None
try:
respond = urlib2.urlopen(url).read()
execept URLError:
return
if respond:
#Parse de returned XML Here, you can use MiniDom
顺便说一句,如果用户在美国,api.hostip.info 工作得很好。外面不太好......但你明白了。
【讨论】:
【参考方案2】:要么自己获取一些地理 ip 表进行查找,要么使用 html5 中的位置库。
喜欢这里:http://html5demos.com/geo
这个演示实际上向您展示了一张地图,但 javascript 查询实际上为您提供了纬度和经度。
【讨论】:
【参考方案3】:IP API 是一个非常好的方法。比这里提到的其他人更准确。
【讨论】:
以上是关于Python:Django:我如何找到用户的纬度和经度,以便我可以显示用户的位置?的主要内容,如果未能解决你的问题,请参考以下文章