我试图通过他/她的IP地址找到用户,然后在谷歌地图中显示他们。对此目的最好的方法是什么?或者有没有其他方式让用户lat/long并在谷歌地图中显示em而不是IP地址。试图通过IP获取用户位置
7
A
回答
8
你的问题实际上是两个问题。第一部分是从ip地址获取lat,lng。 AFAIK,谷歌地图API不提供基于IP的地理位置。因此,要在Google地图上显示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中的一个可能不是很准确。
至于第二部分,展现了谷歌地图上的这个位置,你可以看看这个应用程序:
0
您可以使用以下方式,但我不确定这是否适用于所有浏览器。
if (navigator) { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function (position) { do_something(position.coords.latitude, position.coords.longitude); }); } }
0
的用户定位,将取决于你的目标设备和粒度上/精度你想要在地图上显示他的位置。
该ip地址更适合笔记本电脑和其他非GPS设备。其次,正如你所知道的,IP地址只能指向用户的网关。在我的情况下,网关离我居住的地方大约8英里,所以你可以想象准确度只适用于某些类别的应用程序,如omniture或mixpanel等分析工具。
另一方面,如果您正在为移动设备开发应用程序,则可以在here提出的问题中开始阅读关于它的内容。使用gps/agps可以为您提供几米内的准确度。这更适合于像gowalla或foursquare这样的LBS应用程序。 HTML5使您可以轻松实现后者,尤其是在您定位iOS和Android设备时。
下面给出了一些关于python的袖口代码。 gmaps api v3的详细信息可以在here找到。在Python
Server实现记录位置和生成标记
class RecordLocation(webapp.RequestHandler):
def post(self):
session=SessionManager(self)
if session.is_set(): marker=Markers(lat=self.request.get('lat'),lon=self.request.get('lon'),user_id=self.request.get('user'))
marker.put()
self.response.out.write('<html><body>')
self.response.out.write(" Location Updated<br/>")
self.response.out.write('</body></html>')
class GenerateMarkers(webapp.RequestHandler):
def get(self):
session=SessionManager(self)
if session.is_set():
markers=db.GqlQuery("SELECT * FROM Markers")
doc='<?xml version="1.0"?>'
doc+='<markers>'
for marker in markers:
doc+='<marker '
doc+='lat="'+marker.lat+'" '
doc+='lon="'+marker.lon+'" '
doc+='type="restaurant" '
doc+='/>'
doc+='</markers>'
self.response.out.write(doc)
相关问题
- 1. 通过GPS/IP获取iPhone的位置
- 2. 通过ip地址获取用户位置 - ipinfo.io
- 3. 通过代理获取用户IP。
- 4. PHP MySQL通过GPS获取半径用户位置的位置
- 5. 是否有任何方式通过IP地址获取用户位置?
- 6. 如何使用用户IP地址获取用户位置?
- 7. foursquare - 获取通用用户位置
- 8. 通过Google地图API获取客户位置
- 9. 试图获取用户在Android的地图上的位置
- 10. 在地图上获取用户位置?
- 11. Flash AS3 - 通过Google Analytics(分析)库获取用户位置
- 12. 通过GeoLocation API获取用户在JavaScript中的当前位置
- 13. 如何通过GPS获取用户位置煎茶
- 14. 通过Foursquare API获取用户朋友的位置
- 15. 通过Facebook Graph API获取用户位置/家乡
- 16. 是否可以通过IP地址找到用户的位置?
- 17. iOS:获取用户位置
- 18. 获取用户位置
- 19. 获取Facebook用户位置
- 20. 获取用户位置
- 21. 获取用户的IP地址和位置
- 22. 无法通过Mapsforge获取位置
- 23. 通过获取发送位置
- 24. 通过邮编获取位置名称
- 25. 可通过API获取照片位置?
- 26. Deque通过它的位置获取值
- 27. 通过位置获取推文
- 28. 通过PowerShell获取IIS日志位置?
- 29. 通过javascript获取元素的位置
- 30. 通过从文件位置获取XML来测试BizTalk
EM使用Django 1.0和谷歌地图API – MajorGeek 2010-11-03 19:48:07