Перейти к содержанию
Официальный форум поддержки Simpla

Определение города посетителя


Перейти к решению Решено insider,

Рекомендуемые сообщения

Недавно столкнулся с задачей отображать город посетителя для улучшения конверсионных показателей магазина. Решение нашлось очень простое.

 

Втавляем в index.tpl (или на странице доставка) в любом нужном месте cледующий код:

 

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").text(ymaps.geolocation.city);
  }
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
Доставляем в <div id="user-city"></div>

Будет интересно применить в следующих ситуациях:

 

- Отображать любые данные доставки, в зависимости от города (номер телефона, адрес)

- Использовать определение города при заказе, чтобы избавить пользователя от заполнения города, дав право его редактировать.

 

Предлагайте ваши идеи использования геолокации, реализуем!

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 72
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

Изображения в теме

еще круто область вывести и страну :)

 

Выводи с помощью 

//  страна, город, регион.
geolocation.country, geolocation.city, geolocation.region
Ссылка на сообщение
Поделиться на другие сайты
  • Решение

Готовый код вставки в любое место сайта с указанием города, региона и страны.

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></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>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
<div id="user-city"></div> <div id="user-region"></div> <div id="user-country"></div>
Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

Недавно столкнулся с задачей отображать город посетителя для улучшения конверсионных показателей магазина. Решение нашлось очень простое.

 

Втавляем в index.tpl (или на странице доставка) в любом нужном месте cледующий код:

 

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").text(ymaps.geolocation.city);
  }
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
Доставляем в <div id="user-city"></div>

Будет интересно применить в следующих ситуациях:

 

- Отображать любые данные доставки, в зависимости от города (номер телефона, адрес)

- Использовать определение города при заказе, чтобы избавить пользователя от заполнения города, дав право его редактировать.

 

Предлагайте ваши идеи использования геолокации, реализуем!

А как сделать чтобы при заказе город заполнился?

Ссылка на сообщение
Поделиться на другие сайты
<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").val(ymaps.geolocation.city+', '+ymaps.geolocation.region+', '+ymaps.geolocation.country);
  }
</script> 
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>


<input type='text' name='city' id='user-city' value='' />
 

PS нужное удаляете

есть только город, то

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

#user-city - это ключ для input, может быть любым

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

 

Готовый код вставки в любое место сайта с указанием города, региона и страны.

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></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>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
<div id="user-city"></div> <div id="user-region"></div> <div id="user-country"></div>

Подскажите, после установке кода, выпадающее меню залипает в открытом состоянии?

Ссылка на сообщение
Поделиться на другие сайты

Подскажите, после установке кода, выпадающее меню залипает в открытом состоянии?

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>

Скорее всего jquery вызывается в шаблоне несколько раз. Попробуй один вызов удалить.

Ссылка на сообщение
Поделиться на другие сайты

 

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>

Скорее всего jquery вызывается в шаблоне несколько раз. Попробуй один вызов удалить.

Это то есть удалить эту строку?

 

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script> 
 
Ссылка на сообщение
Поделиться на другие сайты
  • 6 месяцев спустя...

Не сработает уже такое решение.

Определяет все-время Москва, на самом деле другой.

Изменено пользователем SergoiD
Ссылка на сообщение
Поделиться на другие сайты

 

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").val(ymaps.geolocation.city+', '+ymaps.geolocation.region+', '+ymaps.geolocation.country);
  }
</script> 
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>


<input type='text' name='city' id='user-city' value='' />
 

PS нужное удаляете

есть только город, то

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

#user-city - это ключ для input, может быть любым

Крутяк получилось )))) Сасибо 

Ссылка на сообщение
Поделиться на другие сайты

Недавно столкнулся с задачей отображать город посетителя для улучшения конверсионных показателей магазина. Решение нашлось очень простое.

 

Втавляем в index.tpl (или на странице доставка) в любом нужном месте cледующий код:

 

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").text(ymaps.geolocation.city);
  }
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
Доставляем в <div id="user-city"></div>

Будет интересно применить в следующих ситуациях:

 

- Отображать любые данные доставки, в зависимости от города (номер телефона, адрес)

- Использовать определение города при заказе, чтобы избавить пользователя от заполнения города, дав право его редактировать.

 

Предлагайте ваши идеи использования геолокации, реализуем!

Спасибо )

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

Недавно столкнулся с задачей отображать город посетителя для улучшения конверсионных показателей магазина. Решение нашлось очень простое.

 

Втавляем в index.tpl (или на странице доставка) в любом нужном месте cледующий код:

 

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").text(ymaps.geolocation.city);
  }
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
Доставляем в <div id="user-city"></div>

Будет интересно применить в следующих ситуациях:

 

- Отображать любые данные доставки, в зависимости от города (номер телефона, адрес)

- Использовать определение города при заказе, чтобы избавить пользователя от заполнения города, дав право его редактировать.

 

Предлагайте ваши идеи использования геолокации, реализуем!

Спасибо за крутой, быстрый лёгкий скрипт.

Возник вопрос можно ли в зависимости от страны\города выводить доп. информацию. Например № телефона, стоимость\условия\сроки доставки и т.д. (в общем любой произвольный текст или неск. блоков текста)?

Если да, то как.

Спасибо.

Ссылка на сообщение
Поделиться на другие сайты

Спасибо за крутой, быстрый лёгкий скрипт.

Возник вопрос можно ли в зависимости от страны\города выводить доп. информацию. Например № телефона, стоимость\условия\сроки доставки и т.д. (в общем любой произвольный текст или неск. блоков текста)?

Если да, то как.

Спасибо.

 

Сделать проверку и условие на нужный город, как то так

<script type="text/javascript"> 
  window.onload = function () {
   var city = ymaps.geolocation.city;
    if(city == 'Габон'){
       jQuery("#user-city").text('Бесплатная доставка по Габону');
     } else {
       jQuery("#user-city").text('Доставка почтой DHL Express');
   }
}
</script>
Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

Еще + бы был если бы при  поисковом запросе определяло город и выдавало в поисковой выдаче как реализовано с площадками объявлений

Ссылка на сообщение
Поделиться на другие сайты
  • 4 недели спустя...

Скрипт показывает мой город верно, в отличие от других нескольких сервисов. Спасибо автору. Ищу исполнителя на такую работу:

 

На сайте установлен движок Yii версии 1.1.16

Хотелось бы вычислять посетителя по гео с точностью до города и показывать ему индивидуальный банер для его города внизу справа.

Пока город в котором необходимо определение гео и показ банера всего один, но нужна возможность добавлять города отдельным параметром в настройках в панели админа.

Нужно подтверждение города, т.е "вы согласны с тем что вы в Омске?
если нет, банер исчезает.

Показывать нужно просто картинку-ссылку или код, взамен существующему виджету на для всех городов. 

 

Еще условие, если посетитель не из нужного города, ему должен быть показан виджет для всех городов.

Ссылка на сообщение
Поделиться на другие сайты
  • 4 недели спустя...

Подскажите пожалуйста. Задача - для Москвы и МО отобразить номер 495, для остальных регионов - 8800. Причем каждый номер должен быть ссылкой, чтобы можно было начать вызов с телефона, кликнув по нему. В Google Tag Manager вынесен код:

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
  <script type="text/javascript"> 
  window.onload = function () {
    if(ymaps.geolocation.region == 'Москва и Московская область'){
       jQuery("#region-phone").text('+7 (495) 000-00-00');
       jQuery("#region-phone-href").text('tel:+74950000000');
     } else {
       jQuery("#region-phone").text('+7 (800) 000-00-00');
       jQuery("#region-phone-href").text('tel:+78000000000');
   }
}
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>

На всех страницах сайта, где должен быть номер телефона, планируется вставить код типа:

<a href=region-phone-href><div id="region-phone"></div></a>

Как сделать так, чтобы в качестве ссылки было подставлено значение region-phone-href?

Изменено пользователем avorobyev
Ссылка на сообщение
Поделиться на другие сайты

Подскажите пожалуйста.

...

Как сделать так, чтобы в качестве ссылки было подставлено значение region-phone-href?

 

так попробуйте

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
  <script type="text/javascript"> 
  window.onload = function () {
    if(ymaps.geolocation.region == 'Москва и Московская область'){
       jQuery("#region-phone").text('+7 (495) 000-00-00');
       jQuery("#region-phone-href").attr('href', 'tel:+78000000000');
     } else {
       jQuery("#region-phone").text('+7 (800) 000-00-00');
       jQuery("#region-phone-href").attr('href', 'tel:+78000000000');
   }
}
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
<a id="region-phone-href" href="#"><div id="region-phone"></div></a>
Ссылка на сообщение
Поделиться на другие сайты
<a id="region-phone-href" href="#"><div id="region-phone"></div></a>

Столкнулся с проблемой, что этот код срабатывает на странице только 1 раз. Например, если номер телефона на странице встречается 3 раза:

  1. В шапке
  2. В тексте, например, на странице "Контакты"
  3. В подвале

то, в зависимости от региона номер подставится только в первом случае. В остальных местах пусто. Как сделать так, чтобы номер подставлялся во всех местах, где я добавил этот код?

Ссылка на сообщение
Поделиться на другие сайты

 

<a id="region-phone-href" href="#"><div id="region-phone"></div></a>

Столкнулся с проблемой, что этот код срабатывает на странице только 1 раз. Например, если номер телефона на странице встречается 3 раза:

  1. В шапке
  2. В тексте, например, на странице "Контакты"
  3. В подвале

то, в зависимости от региона номер подставится только в первом случае. В остальных местах пусто. Как сделать так, чтобы номер подставлялся во всех местах, где я добавил этот код?

 

потому что айди должен быть уникальным у всех объектов. соответсвенно вы ставите три ссылки с одним айди и вам вставляет только на первую.

 

для множества используйте классы.

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
  <script type="text/javascript"> 
  window.onload = function () {
    if(ymaps.geolocation.region == 'Москва и Московская область'){
       jQuery(".region-phone").text('+7 (495) 000-00-00');
       jQuery(".region-phone-href").attr('href', 'tel:+78000000000');
     } else {
       jQuery(".region-phone").text('+7 (800) 000-00-00');
       jQuery(".region-phone-href").attr('href', 'tel:+78000000000');
   }
}
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
<a class="region-phone-href" href="#"><div class="region-phone"></div></a>
Изменено пользователем mishanya
Ссылка на сообщение
Поделиться на другие сайты

 

потому что айди должен быть уникальным у всех объектов. соответсвенно вы ставите три ссылки с одним айди и вам вставляет только на первую.

 

для множества используйте классы.

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
  <script type="text/javascript"> 
  window.onload = function () {
    if(ymaps.geolocation.region == 'Москва и Московская область'){
       jQuery(".region-phone").text('+7 (495) 000-00-00');
       jQuery(".region-phone-href").attr('href', 'tel:+78000000000');
     } else {
       jQuery(".region-phone").text('+7 (800) 000-00-00');
       jQuery(".region-phone-href").attr('href', 'tel:+78000000000');
   }
}
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
<a class="region-phone-href" href="#"><div class="region-phone"></div></a>

 

Спасибо большое! Все номера отображаются.

Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

Добрый вечер! Спасибо за скрипт... бомба.

Подскажите, как вставить номер телефона в текст, но так, чтобы следующее слова не начиналась с новой строки?

Также интересует, как сделать город, регион, страна были на одной строке?

Заранее спасибо!

Ссылка на сообщение
Поделиться на другие сайты

Добрый вечер! Спасибо за скрипт... бомба.


Подскажите, как вставить номер телефона в текст, но так, чтобы следующее слова не начиналась с новой строки?


Также интересует, как сделать город, регион, страна были на одной строке?


Заранее спасибо!

Ссылка на сообщение
Поделиться на другие сайты

Чуть-чуть обучиться основам HTML, JS, JQuery.  Если нет возможности (желания, способностей или чего другого), то попросить спецов сделать за денежку... 

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...