Определение местоположения пользователя

Определение местоположения пользователя

02016-01-03748214Денис Абдуллин

Определение местоположения пользователя – крайне полезная вещь для интернет-магазинов и для лендингов. Но и для простых сайтов будет также интересно сделать, например, автоматическое заполнение поля город, страны и т.д. Собственно, различного рода автозаполнения позволят ускорить регистрацию и оформление заказа.

Установка

Подключаем библиотеку Яндекса:

<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>

Парсим данные о местоположении:

<script type="text/javascript">
window.onload = function () {
jQuery("#user-city").text(ymaps.geolocation.city);
jQuery("#user-region").text(ymaps.geolocation.region);
jQuery("#user-country").text(ymaps.geolocation.country);
}
</script>

В том, месте, где нужно вывести город, регион и страну вставляем:

<div id="user-city"></div> <div id="user-region"></div> <div id="user-country"></div>

Вы можете просто скопировать все три фрагмента и вставить в одном месте на сайте. Странно, но Я проверял скрипт на демо-сайте и он не выводил никаких данных. Вставив на Урааа, скрипт выдал все данные по городу, региону и стране. Причину почему на демо-сайте скрипт не работал пока не понял.


Если вы хотите сделать автоматическое заполнение города где либо на сайте (например, в форме заказа), то узнайте ID поля и замените его содержимое таким образом:

jQuery("#user-city").val(ymaps.geolocation.city);

Создать сайт в uKit Нужен классный сайт для бизнеса?
Воспользуйтесь сервисом uKit. Никакого кода!
Комментарии (14)
Иван Касаткин 2016-01-28 в 22:09 / МатериалСпам
Материал полезный, спасибо! Если научите так-же парсить пробки и курс валют, цены не будет!
0
NoNaMe 2016-01-06 в 23:51 / МатериалСпам
Замените в материале value на val, не вводите людей в заблуждение.
0
NoNaMe 2016-01-06 в 23:47 / МатериалСпам
jQuery("#bdF13").val(ymaps.geolocation.city);
0
NoNaMe 2016-01-06 в 23:46 / МатериалСпам
Отлично, заработало! Добавил еще <?if($PAGE_ID$='add')?> перед скриптом, что бы в объявлениях людей из других городов не менялся на мой при редактировании и получилось то что доктор прописал! Еще раз спасибо! Посмотрим как этот скрипт будет вести себя с мелкими городами из областей.
0
Cry Deil 2016-01-05 в 22:10 / МатериалСпам
Попробуй так:
$("#bdF13").val(ymaps.geolocation.city);
0
Cry Deil 2016-01-05 в 22:08 / МатериалСпам
а не .val? Мб он указывает $('...').value(...); ? По этому не работает :D
2
Deniss Lvov 2016-01-04 в 23:11 / МатериалСпам
Что значит (Парсим данные о местоположении:)?
0
Сергей Александрович 2016-01-05 в 00:10 / Материал
берем данные из яндекс карт.
0
Миха 2016-01-04 в 12:44 / МатериалСпам
ставил на подобие в доску объявления для заполнения автоматически города вышла ошибка и ip заблокировали
0
Вячеслав 2016-01-03 в 21:06 / МатериалСпам
Код
jQuery("input#bdF13").value(ymaps.geolocation.city);


Заполняется input, для разного типа полей, разные изменения могут быть.
0
Денис Абдуллин 2016-01-03 в 20:36 / Материал
Если это textarea, то ни value ни text не подойдут, попробуйте html. Точно не помню
0
NoNaMe 2016-01-03 в 18:06 / МатериалСпам
Что-то лыжи не едут.
Добавил на доске объявлений к полю:
jQuery("#bdF13").text(ymaps.geolocation.city);

В HTML в input город добавляется, а вот глазами посетителя в поле его не видно.
0
NoNaMe 2016-01-03 в 20:35 / МатериалСпам
с value перестал город появляться в HTML, input пуст.
0
Владимир Домнин 2016-07-09 в 19:18 / МатериалСпам
У меня заработал! Спасибо, юра самый лучший сайт)))
0
Чтобы оставить комментарий или отзыв под этой публикацией, войдите или зарегистрируйтесь.