Клуб API Карт

Найдено на тему «центр карты»:
Центрирование карты со смещением
Byte916
10 ноября 2017, 00:13

Всем привет

Карта растянута на всю доступную область, поверх неё находятся полупрозрачные элементы, в том числе список объектов, связанный со списком placemark'ов карты.

При клике на объект, placemark центрируется.

Вопрос такой - как при таком центрировании учитывать смещение центра карты?

Пробовал после наведения на PlaceMark делать фикс центра через getGlobalPixelCenter и setGlobalPixelCenter, но, при происходит лишнее "дёргание". Сначала центрируется на объекте относительно всей карты, а потом добавляется смещение.

Есть ли более правильные способы изменить центр карты, куда будут центрироваться объекты при событии panTo?

1 комментарий
центр карты
Центр карты относительно точек
Удалённый пользователь
23 ноября 2016, 13:30

Точки новые отображаются. Старые пропадают. Тут всё хорошо. Почему getBounds() получаю null ??

myMap.container.fitToViewport();
objectManager.removeAll(); //удаляю точки
$.ajax({
    url: "map_company.php?t="+n
}).done(function(data) {
    objectManager.add(data); //добавляю новые точки
});
myMap.geoObjects.add(objectManager); //добавляю новые точки
console.log(myMap.geoObjects.getBounds()); //получаю null
myMap.setBounds(myMap.geoObjects.getBounds()); //естественно не центруется
1 комментарий
центр карты,автоцентрирование карты,кластеризация,динамическая загрузка,XML
Центрирование и масштаб карты относительно нескольких меток
Томченко Денис
13 сентября 2016, 14:52

Доброго дня. Интересует, можно лы как-то карте указать автоматическое центрирование и зум относительно меток, что бы они все сразу были видны?

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

Не нашел такого, может где-то и есть. Если есть, подскажите пожалуйста где...

3 комментария
центр карты
Смещение центра карты
GoodManDima
28 июня 2015, 19:15

Здравствуйте. Как сделать так, чтобы центр карты был всегда смещен на определенное количество пикселей. Например, у меня карта находится в блоке размером 300px на 400px, соответственно центр карты (150px, 200px). Как перенести его например в координаты в блоке(100px, 150px)?

5 комментариев
центр карты,API 2.1
Префикс версии карт в css-классах
indie
25 сентября 2014, 15:50

Есть ли возможность отключить префикс в css-классах, например ymaps-2-1-15, переделать в ymaps?

5 комментариев
центр карты,API 2.1,CSS
Проблема с центрированием карты при клике на объект в меню
Удалённый пользователь
18 сентября 2014, 13:26

Есть функция обрабатывающая создание меню геообъектов и клики по элементам этого меню:
 

function createSubMenu (item, collection, submenu) {

        // Пункт подменю.

        var submenuItem = $('<div class="menumap item inlineBlock"><div class="arrow absolute"></div><div class="addres">' + item.name + '</div><div class="box-mode-phone"><div class="shop-mode" title="Режим работы">' + item.time + '</div><div class="shop-phone" title="Телефон">' + item.phone + '</div></div></div>'),

        // Создаем метку.

            placemark = new ymaps.Placemark(item.center, { balloonContent: item.name });

 

        // Добавляем метку в коллекцию.

        collection.add(placemark);

        // Добавляем пункт в подменю.

        submenuItem

            .appendTo(submenu)

            // При клике по пункту подменю открываем/закрываем баллун у метки.

            //.find('a')

            .toggle(function () {

                placemark.balloon.open();

            }, function () {

                placemark.balloon.close();

            });

 

    }

 

Часть отвечающую за клики я пытаюсь расширить до центровки карты на данном объекте:

 

 

.toggle(function () {

                placemark.balloon.open();

myMap.setCenter([item.center], 3, {

checkZoomRange: true

});

            }, function () {

                placemark.balloon.close();

            });

 

Но получается что-то немыслимое. Карта ездит туда - сюда, но явно не центруется.

карта:
http://tomato.4your.biz/shops/?city_id=36#map 

2 комментария
меню,центр карты,координаты,события,API 2.1
Увеличить и отцентрировать карту при клике на маркер
maler1988
16 сентября 2014, 17:53

Добрый день! Моя карта показывает объекты компании в рвзных городах на маленьком масштабе (5). Я хочу чтобы при клике на маркер, карта увеличилась и выбранный маркер был по центру, пишу следующй код

 

...тут выше задаются параметры myPlacemark.events где X, Y считанные из DOM дерева координаты объектов...

myPlacemark.events.add('click', function (e) {
             myMap.setZoom(10,
                           {
                               smooth:true,
                               position:(X,Y),
                               centering:true
                           });

увеличение по клику получается, но центр карты остаётся не на маркере по которому я кликнул, а на том месте где был "условный центр" http://joxi.ru/jj8YVIwyTJDLAqj473Q в момент клика по маркеру.  если я правильно понял документацию то при наличии флага centering:true (из документации "Флаг, указывающий, что по окончании плавного масштабирования позиция, заданная в options.position, должна совпасть с центром карты.") и правльно заданных координатах в position, центр карты должен быть на кликнутом маркере.

 

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

1 комментарий
метка,центр карты,события,API 2.1
Точность для getCenter
cycler
18 октября 2013, 08:35

Можно как-либо через параметры задать точность для map.getCenter()?
На выходе получается что-то типа "53.4577373487626,38.81249999999999", хотя вполне достаточно 5 знаков после точки.
Спасибо.



Upd: подсказали решение -
var center = myMap.getCenter()[0].toFixed(6) + ',' + myMap.getCenter()[1].toFixed(6);

3 комментария
getcenter,центр карты,координаты,API 2.0,Javascript
Изменение масштаба при смене центра карты
ppgdt.ensbor
14 апреля 2013, 00:06

Подскажите пожалуйста, накидал метки на карту, хочу чтоб все три метки были видны при открытии карты, а при щелчке на нужную метку масштаб менялся, а не просто передвигалась карта. Общий вид масштаб 5, а нормальный вид для просмотра местоположения офиса 16. Я придумал тут кусок кода, но он увы не работает..(

map.events.add('boundschange', function (event) {

if (myMap.getCenter() != [47.523295,42.20558]) {

myMap.setZoom(5);

}

});

2 комментария
масштаб,центр карты,API 2.0
Центрирование placemark с параметром balloonLayout: "default#imageWithContent"
msiped
18 марта 2013, 19:55

У меня есть на карте много placemark и при нажатии на них открывается мной созданное окно, с такими параметрами:

 

balloonContentSize: [235, 260],// Размеры содержимого балуна

balloonLayout: "default#imageWithContent",// Задаем макет балуна - пользовательская картинка с контентом

balloonImageHref: 'путь к картинке',// Картинка балуна

balloonImageOffset: [-235, -80],// Смещение картинки балуна

balloonImageSize: [235, 400],// Размеры картинки балуна 

 

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

8 комментариев
центр карты,API 2.0,балун,макеты
Помогите начинающему (задать центр карты по Балуну)
anton.bogoradov
27 февраля 2013, 18:39

Есть код простой страницы которая выводит балун через прямое геокодирование из get запроса, Как сделать центром карты координаты самого балуна

  

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<head> 
    <title>Примеры. Геопоиск.</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
 
    <!--
        Подключаем API карт 2.x
        Параметры:
          - load=package.full - полная сборка;
     - lang=ru-RU - язык русский.
    --> 
            type="text/javascript"></script> 
 
    <script type="text/javascript"> 
        // Как только будет загружен API и готов DOM, выполняем инициализацию
        ymaps.ready(init);
 
        function init () {
            // Поиск координат центра Череповца
            ymaps.geocode('Череповец', { results: 1 }).then(function (res) {
                // Выбираем первый результат геокодирования
                var firstGeoObject = res.geoObjects.get(0);
 
                // Создаём карту.
                // Устанавливаем центр и коэффициент масштабирования.
                window.myMap = new ymaps.Map("map", {
                    center: firstGeoObject.geometry.getCoordinates(),
                    zoom: 15
                });
   myMap.controls
        // Кнопка изменения масштаба.
        .add('zoomControl', { left: 5, top: 5 });
ymaps.geocode('Вологодская область город Череповец <? echo $_GET['adr'] ?>').then(
function (res) {
myMap.geoObjects.add (res.geoObjects.get(0));
});
            })
        }
    </script> 
</head> 
 
<body> 
<div id="map" style="width: 500px; height: 300px"></div> 
</body> 
 
</html> 

 

3 комментария
центр карты,API 2.0,балун
getCoordinates()
caguct.mac
2 февраля 2013, 01:02

Не пойму как работает, мне нужно переместить центр карты на метку, делаю так:

map.panTo(selectPlacemark.geometry.getCoordinates());
но перемещает в никуда, возле африки)))

при том если вызвать алерт selectPlacemark.geometry.getCoordinates(), скопировать координаты и вставить напрямую перемещает куда нужно. Мистика балин.


Нашел "решение":

map.panTo([selectPlacemark.geometry.getCoordinates()]);


Хотя в http://api.yandex.ru/maps/doc/jsapi/2.x/update/concepts/update.xml#geocode тут в Обработка событий геокодера написан myMap.panTo(point.geometry.getCoordinates());  не пойму почему...

3 комментария
центр карты,API 2.0,геокодирование
Хранение центра карты и зума в куки
kr-aleksandr
15 января 2013, 15:46

Страница с картой генерируется на PHP.

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

4 комментария
масштаб,PHP,центр карты
Смена центра карты и ее масштаба при клике.
musainov
14 декабря 2012, 10:03

Уважаемые гуру

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

Немогу понять как сделать данную ф-цию. 

2 комментария
масштаб,центр карты,API 2.0
Метка бегает за центром карты
Сергей Михайлов
24 ноября 2012, 19:13

Добрый день. Прошу помочь мне с проблемой.
Делаю скрипт для админ панели, в которой при введении адреса будет выводиться карта.

Проблема: при перетаскивании центра карты, метка появляется ровно в центре просматриваемой части.

html файл со скриптом выложил сюда. 

5 комментариев
метка,центр карты,API 2.0
вызывать обработчик в процессе перетаскивания карты
Удалённый пользователь
26 июня 2012, 15:54

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

 

как повесить обработчик на событие перетаскивания?

 

должно быть что-то такое map.behaviors.get('drag').events.add('enable', function (e)

но похоже я что-то делаю не так

2 комментария
центр карты,API 2.0
Вопрос по отображению коллекции объектов на карте
Владимир Батищев
25 июня 2012, 23:16

Есть коллекция объектов и карта

Как отцентрировать карту так чтобы она отображала все объекты коллекции?

 

Спасибо

21 комментарий
центр карты,API 2.0,коллекции
Как получить и использовать центр и масштаб карты при ее изменении
Евгений Закиров
19 июня 2012, 22:00

1) как получить центр карты при ее перетаскивании

2) как получить масштаб карты при его изменении инструментом масштабирования

идеальный пример - сервис Определение координат, но он на API 1.x

какие события для этого нужно использовать и методы получения этих данных. Заранее спасибо!

хочу получать эти данные и передаватаь в форму, пока что смог настроить получение и передача в форму настроек и положения метки

первое решил: 

$("#ymaps").mouseup(function(){

    $("#myform").val(myMap.getCenter())

    $("#myform").val(myMap.getZoom())

})

второй пункт актуален

методом тыка установлено, что getZoom() тоже работает , оба вопроса решены, единcтвенное уточнение, какие события лучше применить вместо mouseup, которые срабатывают именно при изменениях значений zoom и center?

2 комментария
масштаб,центр карты
Автоматическое центрирование карты в API 2.0
alexx989
17 мая 2012, 17:03

Доброго времени суток!

Подскажите пожалуйста есть ли в API 2.0 механизм автоматического центрирования карты и ее масштабирования на группе меток или кластеров таким образом, что бы все они попадали в видимую область карты?

Например, на карту AJAX-ом добавляются n меток (или энное количество меток, объединенных в кластеры), разбросанных по m областях Украины. Существуют ли в API Яндекс-карты механизмы, позволяющие автоматически выбрать масштаб, что бы все метки поместились на видимой части карты и отцентрировать карту на геометрическом центре фигуры, образованной полученными метками? Если да, то какие?

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

11 комментариев
масштаб,центр карты
Проблема с центрированием карты
Максим
11 мая 2012, 06:39

Где можно посмотреть рабочий пример ссылка

 

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

8 комментариев
центр карты