Клуб API Карт

Определения координат области показа карты

TomTykver
17 марта 2015, 15:04

Подскажите пожалуйста. Я задал карте начальные параметры: геокоординаты центра и zoom.

Определил style="width:1510px; height:845px". Каким образом можно получить координаты левого нижнего угла и верхнего правого угла области показа карты ?

Спасибо.

 

9 комментариев

В геокоординатах myMap.getBounds();

А как из myMap.getBounds() вытянуть Х и У  ?

Что такое X и Y?

Есть широта и долгота порядок индексов в массиве зависит от параметра coordorder при подключении АПИ

https://tech.yandex.ru/maps/doc/jsapi/2.1/dg/concepts/load-docpage/

coordorder

 

Порядок задания географических координат в функциях API, принимающих на вход пары долгота-широта (например, Placemark).

Возможные значения:

  • latlong — [широта, долгота] — используется по умолчанию;
  • longlat — [долгота, широта].

Значение по умолчанию: latlong.

Я объясню всю задачу целиком. Я задавал вопрос о программном смещении объекта и Вы (dimik) мне очень сильно помогли. Вы подсказали конструкцию, которая это делает: var newCoords = polyline.geometry.getPixelGeometry().shift([100, 100]).getCoordinates()

                .map(function (point) {

                    return myMap.options.get('projection').fromGlobalPixels(point, myMap.getZoom())

                })

            polyline.geometry.setCoordinates(newCoords);

Однако при использовании этой конструкции перемещенный объект искажается.

У меня на карте есть программным образом нанесены трэки (полилинии, которые проходят по дороге).

Каждый трэк нужно параллельно оригиналу сместить на определенное количество пикселов (если быть точнее - на ширину дороги).

Я не понял, почему объект искажается, но решил попробовать другим способом: с помощью getBounds() получить координаты окна, зная style="width:1510px; height:845px" вычислить переводной коэффициент из геокординат в пикселы и уже тогда определять смещение каждой точки в трэке. Подскажите пожалуйста, как попроще сделать ?

Можно увидеть ссылку на искажающийся объект?

Вот, смещенная больше оригинала и чем дальше я смещаю, тем больше линия в размерах

http://prntscr.com/6if72z

Я имел ввиду ссылку на код.

То есть хочу из getBounds() получить отдельно значение долготы, отдельно - широты

dimik, подскажите пожалуйста как получить отдельно значение широты и долготы из getBounds()