2017-02-12 10 views
-1

Пожалуйста, простите меня, если это слишком общее для переполнения стека, но мне любопытно узнать, как я могу пойти в Yelp, Zillow или на любые другие сайты, которые управляются местоположением пользователя.Что считается хорошей практикой для загрузки данных по местоположению пользователя? Как Yelp, Zillow и т. Д. Получают общую информацию о местоположении пользователя?

В моем текущем приложении я использую navigator.geolocation поэтому передний конец привода:

if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition((position) => { 
    const currentPosition = { 
     lat: position.coords.latitude, 
     lng: position.coords.longitude 
    }; 

    /* set some values, handle error, etc. */ 
} 

Однако, это может занять некоторое время. В моем случае, после нахождения местоположения пользователя, я затем загружаю карту google в этом конкретном месте.

В случае, когда я иду на yelp.com, он не загружается в моем текущем точном месте, а скорее в моей общей области. Иногда он получает мою область правильно, но в других случаях это близлежащая мне зона метро. В случае других сайтов, таких как Zillow, он будет загружать карту по всему региону, как и все Сан-Франциско и прилегающие районы, или все Лос-Анджелес и т. Д.

Как эти сайты обрабатывают начальное местоположение? Это какая-то причудливая сторона сервера, или это что-то в браузере, или что?

Благодаря

ответ

1

Я думаю, что они обнаружения вашего IP, а затем посмотреть его где геолокации от IP должен быть. Вот example.

+0

Ах. Так это делается на стороне сервера? – user1354934

+0

Я так думаю, или использую сторонний API, такой как ipinfo.io. Пример: '$ .get (" http://ipinfo.io ", function (response) { console.log (response); }," jsonp ");' –

+0

Спасибо. Похоже, что их сайт docs не работает :( – user1354934