我試圖通過他/她的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. 通過捲曲獲取用戶位置
- 4. Google會試圖通過客戶端jsapi調用獲取用戶位置嗎?
- 5. 通過代理獲取用戶IP。
- 6. PHP MySQL通過GPS獲取半徑用戶位置的位置
- 7. 通過圖像獲取url的位置
- 8. 是否有任何方式通過IP地址獲取用戶位置?
- 9. 通過GPS位置獲取位置
- 10. 如何使用用戶IP地址獲取用戶位置?
- 11. 通過websocket獲取用戶IP,user_agent,refferer通過websocket
- 12. foursquare - 獲取通用用戶位置
- 13. 通過Google地圖API獲取客戶位置
- 14. 獲取IP地理位置
- 15. 通過IP獲取國家/地區位置(IPv4,IPv6)
- 16. 試圖獲取用戶在Android的地圖上的位置
- 17. 如果用戶通過網絡啓用了位置,則獲取
- 18. 在地圖上獲取用戶位置?
- 19. 測試 - 試圖通過用戶名使用$ httpBackend.expectGET獲取用戶JSON對象
- 20. Flash AS3 - 通過Google Analytics(分析)庫獲取用戶位置
- 21. 通過GPS獲取用戶位置然後網絡然後Wifi
- 22. 通過GeoLocation API獲取用戶在JavaScript中的當前位置
- 23. 通過Facebook Graph API獲取用戶位置/家鄉
- 24. 通過Foursquare API獲取用戶朋友的位置
- 25. 如何通過GPS獲取用戶位置煎茶
- 26. 通過IP地址識別用戶的位置
- 27. 是否可以通過IP地址找到用戶的位置?
- 28. 獲取用戶IP
- 29. 獲取用戶位置Android
- 30. 獲取Facebook用戶位置
EM使用Django 1.0和谷歌地圖API – MajorGeek 2010-11-03 19:48:07