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:我如何找到用户的纬度和经度,以便我可以显示用户的位置?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Django 的 HTML 表单来编辑用户配置文件的一部分。

将经度和纬度保存到 Django 中的用户配置文件

如何从纬度和经度值中找到一个地方的名称

纬度和距离之间的关系

如何在python中找到用户的登录位置

如何在 Python 中调用静音/扬声器控制键。戴尔纬度 E7440