Вывод условия по нужным городам

nimag
На сайте с 02.02.2007
Offline
146
550

Добрый день.

Прошу совета по использованию геолокации яндекса.

<script src="https://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
ymaps.ready(function(){
var geolocation = ymaps.geolocation;
$('#tow').html('Бесплатная доставка в г. '+geolocation.city);
});
});
</script>
<span id="tow"><img src="pre5.gif" style="width: 17px;"></span>

Данный код выводит город посетителя.

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

Например, для г. Москва, Тверь,Владимир и т.д. - бесплатно, а для г. Санкт-Петербург - доставка ТК.

Выгодная партнерка по мягкой мебели (5%). МСК, СПБ. https://msk.imeex.ru/partnerskaya-programma-dlya-vebmasterov/
S
На сайте с 13.10.2014
Offline
171
#1

или загружать аяксом или вываливать всё, а потом скрывать

что-то вроде $('.city[data-name="'+geolocation.city+'"]').css('display','none');

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

Но в вашем случае, я бы получал все-таки данные от яндекса, отправлял на сервер, и дальше уже выводил бы обработанные результаты. при этом данные эти я бы кэшировал, в базе вида ip клиента/город/кладр

через некоторое время наработается база стандартных адресов и нагрузка на я.карты резко снизится.

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

S
На сайте с 30.09.2016
Offline
469
#2

<script src="https://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU"></script>
<script type="text/javascript">
$(document).ready(function(){
ymaps.ready(function(){
var geolocation = ymaps.geolocation.city;
if(geolocation=='Санкт-Петербург')$('#tow').html('Доставка ТК в г. '+geolocation);
else if(geolocation=='Москва'||geolocation=='Тверь'||geolocation=='Владимир')$('#tow').html('Бесплатная доставка в г. '+geolocation);

});
});
</script>
<span id="tow"><img src="pre5.gif" style="width: 17px;"></span>
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
nimag
На сайте с 02.02.2007
Offline
146
#3

Спасибо, код работает.

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

Скажите, можно при условии не попадания города из геолокации по бесплатной доставке скрывать блок tow ?

Sitealert:
<script src="https://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU"></script>

<script type="text/javascript">
$(document).ready(function(){
ymaps.ready(function(){
var geolocation = ymaps.geolocation.city;
if(geolocation=='Санкт-Петербург')$('#tow').html('Доставка ТК в г. '+geolocation);
else if(geolocation=='Москва'||geolocation=='Тверь'||geolocation=='Владимир')$('#tow').html('Бесплатная доставка в г. '+geolocation);

});
});
</script>
<span id="tow"><img src="pre5.gif" style="width: 17px;"></span>
Samail
На сайте с 10.05.2007
Offline
361
#4


if(geolocation=='Москва'||geolocation=='Тверь'||geolocation=='Владимир')$('#tow').html('Бесплатная доставка в г. '+geolocation);
else $('#tow').html('');
S
На сайте с 13.10.2014
Offline
171
#5

Samail, вариант, чтоб не городить 100500 "OR"

var cities = new Array("Москва", "Тверь", "Санкт-Петербург", "Челябинск", "Екатеринбург", "Волгоград");

if (cities.indexOf(geolocation) != -1){
$('#tow').html('Бесплатная доставка в г. '+ geolocation);
}

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий