Определение местоположения пользователя будет зависеть от целевого устройства и степени детализации / точности, с которой вы хотите отобразить его местоположение на карте.
IP-адрес больше подходит для ноутбуков и других устройств, не поддерживающих GPS.Во-вторых, как вы знаете, IP-адрес будет только указывать шлюз пользователя.В моем случае шлюз находится примерно в 8 милях от того места, где я живу, так что вы можете себе представить, что точность подходит только для определенного класса приложений, таких как инструменты анализа, такие как omniture или mixpanel.
С другой стороны, если вы разрабатываетеВаше приложение для мобильного устройства вы можете начать читать об этом в вопросе здесь .Использование gps / agps даст вам точность в пределах нескольких метров.Это больше подходит для приложений LBS, таких как gowalla или foursquare.HTML5 позволяет вам легко реализовать последнее, особенно если вы нацелены на устройства iOS и Android.
Некоторые из кодов-манжет в python приведены ниже.Подробную информацию о gmaps api v3 можно найти здесь .
Реализация сервера в Python для записи местоположения и создания маркеров
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)