Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2017, 11:49   #1
Joushin
Новичок
Джуниор
 
Регистрация: 14.02.2017
Сообщений: 1
По умолчанию Сохранить координаты карты на выбранный город после перезагрузки страницы - JS

Добрый день.
При нажатии на кнопку он меняет местоположение карты на нужное но при перезагрузки страницы он возвращает на исходное положение.
Я пытался задать начальную точку карты с условием при разных городах разные точки координат, но безуспешно. Я начал недавно изучать js по этому знаний мало. Пытался гуглить, но ничего не нашел, может просто не так искал.
Помогите решить проблемку.
Код HTML:
<div class="row list-address-school">
   <div class="city-column">
      <button class="btn-address-1 button" >Казань</button>
      <button class="btn-address-2 button" >Набережные Челны</button>
      <button class="btn-address-3 button" >Нижнекамск</button>
      <button class="btn-address-4 button" >Мытищи</button>
      <button class="btn-address-5 button" >Белгород</button>
      <button class="btn-address-6 button" >Южное Бутово</button>              
      <button class="btn-address-7 button" >Хабаровск</button>
   </div>
   <div class="city-column">
      <button class="btn-address-8 button" >Калининград</button>
      <button class="btn-address-9 button" >Брянск</button>
      <button class="btn-address-10 button" >Сочи</button>
      <button class="btn-address-11 button" >Череповец</button>
      <button class="btn-address-12 button" >Москва</button>
      <button class="btn-address-13 button" >Нижний Новгород</button>
      <button class="btn-address-14 button" >Новосибирск</button>
   </div>
   <div class="city-column"> 
      <button class="btn-address-15 button" >Альметьевск</button>
      <button class="btn-address-16 button" >Санкт-Петербург</button>
      <button class="btn-address-17 button" >Сургут</button>
      <button class="btn-address-18 button" >Новокузнецк</button>
      <button class="btn-address-19 button" >Тверь</button>
      <button class="btn-address-20 button" >Тюмень</button>
      <button class="btn-address-21 button" >Ижевск</button>
      <button class="btn-address-22 button" >Севастополь</button>
   </div>
</div>
Код:
var markers = [
{ point:[111, 111], marker:'Казань' },
{ point:[222, 222], marker:'Набережные челны' },
{ point:[333, 333], marker:'Нижнекамск' },
{ point:[444, 444], marker:'Мытищи' },
{ point:[555, 555], marker:'Белгород' },
{ point:[666, 666], marker:'Южное Бутово' },
{ point:[777, 777], marker:'Новосибирск' },
{ point:[888, 888], marker:'Хабаровск' },
{ point:[999, 999], marker:Брянск' },
{ point:[1111, 1111], marker:'Сочи' },
{ point:[1222, 1222], marker:'Череповец' },
{ point:[1333, 1333], marker:'Москва' },
{ point:[1444, 1444], marker:'Нижний новгород' },           
{ point:[1555, 1555], marker:'Вологда' },
{ point:[1666, 1666], marker:'Санкт-петербург' },
{ point:[1777, 1777], marker:'Сургут' },
{ point:[1888, 1888], marker:'Новокузнецк' },
{ point:[1999, 1999], marker:'Электросталь' },
{ point:[2111, 2111], marker:'тюмень' },
  ];
    var map = new L.Map('map', {
        center: new L.LatLng(56.2539, 92.112),   //Как я понял нужно подшаманить в этом месте. Но я не могу додумать, как.
        zoom: 10,                                          //я вертел эту часть как мог, но ничего не вышло.
        zoomAnimation: true
    });  
    map.options.maxZoom = 17;
    map.options.minZoom = 2;
    var yndx = new L.Yandex();
    var googleGeocodeProvider = new L.GeoSearch.Provider.Google();
    map.addLayer(yndx);
    var myIcon = L.icon({
            iconUrl: '/modules/mod_maps_address/assets/img/marker-icon.png',
            shadowUrl: '/modules/mod_maps_address/assets/img/marker-shadow.png',
            iconSize: [37, 49],
            shadowSize: [47, 14]
        });
    $.each(markers, function(id, item){
        L.marker(item.point, {
            icon: myIcon,
            bounceOnAdd: true,
            bounceOnAddOptions: {
                duration: 500, height: 300
            }
        }).bindPopup(item.marker).addTo(map);
        });
        $(document).on('click', '.button', function(e){
            e.preventDefault();
            var _this = $(this),
            city = _this.text(),
            box_id = _this.data('box');
            googleGeocodeProvider.GetLocations(city, function (data) {
                $('.maps-info .panel').hide();
                map.setZoom(10);
                var center = map.project(new L.LatLng(data[0].Y, data[0].X));
                center = new L.point(center.x + 250, center.y);
                var target = map.unproject(center);
                map.setView(target, 10);
                $(box_id).show();
            });
        });
        {if $is_device}
            $(document).on('change','.select-box-inner', function(){
                var _this = $(this),
                city = $( ".select-box-inner option:selected" ).text(),
                box_id = _this.val();
                googleGeocodeProvider.GetLocations(city, function (data) {
                    $('.maps-info .panel').hide();
                    map.setZoom(10);
                    var center = map.project(new L.LatLng(data[0].Y, data[0].X));
                    center = new L.point(center.x, center.y);
                    var target = map.unproject(center);
                    map.setView(target, 10);
                    $(box_id).show();
                });
            });
Joushin вне форума Ответить с цитированием
Старый 14.02.2017, 13:03   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,156
По умолчанию

а почему он не должен возвращать исходное состояние?
Если хотите сохранение состояние - так реализуйте его, через cookies или local storage. При нажатии кнопки - сохраняете данные по выбранной точке в выбранное хранилище, при инициализации карты проверяете нет ли в хранилище чего то, если есть - инициализируете с этими данными, если нет - то как обычно показываете
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Голосование без перезагрузки страницы Nick888 PHP 2 26.12.2014 09:21
Сохранить значения переменных , при перезагрузки страницы Almas01kz JavaScript, Ajax 5 26.12.2014 00:35
Submit без перезагрузки страницы Tyoma5891 PHP 21 05.03.2014 16:53
Как после обновления страницы сохранить данные в инпуте? byMary93 JavaScript, Ajax 1 01.08.2012 11:46
Динамическое изменение URL страницы в JavaScript без перезагрузки страницы ilusha JavaScript, Ajax 7 25.02.2009 09:59