Клуб API Карт

Инициализация карты по умолчанию

webolution
2 февраля 2016, 17:38

Добрый день у меня два вопроса

  1. Как убрать центр карты по умолчанию? У меня две страницы. на одной человек вводит адрес, происходит редирект на другую, на ней карта с центром Москва + геокодер определяет что ввел пользователь и перенаправляет карту туда. происходит "рывок". как это избежать? 
  2. Есть карта и список результатов рядом (они расчитываются в зависимости от координат видимой части карты var bounds = myMap.getBounds();) , проблема в том что если div с картой скрыть, объекты пропадают в списке результатов. как сделать чтобы все работало? как то по слоям? css ? z index?

спасибо

5 комментариев
Подписаться на комментарии к посту
1. Сначала геокодировать, потом создавать карту.
2. Используйте переменную-флаг, типа isMapVisible, проверяя ее значение при перестроении списка, или смотрите в myMap.container.getSize()
dimik,
спасибо за ответ
1) А как сначала геокодировать без карты? две функции init?
у меня эта функция внутри инициализации
var myGeocoder = ymaps.geocode(address.value,{results:1})
.then(
function (res) {
var firstGeoObject = res.geoObjects.get(0),
bounds = firstGeoObject.properties.get('boundedBy');

myMap.setBounds(bounds, {
checkZoomRange: true
});

},
function (err) {
// обработка ошибки
});

2) а что проверка даст? мне нужны координаты карты даже если ее div скрыт в мобильной версии сайта.
webolution,
1. Правда же можно создать карту внутри обработчика геокодирования?
https://tech.yandex.ru/maps/jsbox/2.0/geocode

2. Даст то, что список не будет меняться.
dimik,
так и было вначале, я так уже делал. проблема в том что каждый раз создается карта, если снова ищешь объекты на уже созданной карте. постоянно пересоздавать не вариант.

2) список не изменится согласен, но мне нужна возможность фильтрации. а данные зависят от координат карты. нужна возможность вычислить их, без видимости самой карты. (на мобилке видны только списки точек)
webolution,
Если у вас редирект, как вы написали, она в любом случае будет заного создаваться, страница же заного загружается.
Сделайте все на одной странице, без редиректа.

Вы не можете использовать АПИ и не показывать карту. Это нарушение условий использования сервиса