Клуб API Карт

Печать карты

Пост в архиве.

Всем привет! Использую js api yandex maps (народная карта <script type="text/javascript" src="http://api-maps.yandex.ru/1.1/index.xml?key=own_key&modules=pmap"></script>) . Возникла задача отправлять карту на печать. Сайт построен на Zend Framework, для страницы которую буду отдавать на  печать создал отдельный конроллер и экшен (впринципе не по теме но вдруг поможет в решении). При рендеринге шаблона выводится <div id="map"></div>  Использую jquery 1.4.2 на событие document.ready навешиваю обс который и создает карту дальше аяксом получаю json данные о маркерах (placemark) и вывожу их. В конце отправляю страницу на печать window.print() Все выводится нормально только у маркеров пропадает фон ... использовать статичиский апи в моем случае не получится нет данных в нужном маштабе...  

 

Буду очень благодарен хоть за малейшую подсказку ! Если нужен код могу приложить! Спасибо ! 

6 комментариев
Можно попробовать поправить этот фон в отдельном css-файле
     MEDIA="print" HREF="print.css">

Спасибо за ответ ! Отдельный файл стилей есть само собой, пробывал задавать фон не помогло :(

попробуйте посмотреть как сделана печать на maps.yandex.ru

там нет проблем с маркерами

правда и маркеры там другие

кстати в статик апи есть слой народной карты

http://api.yandex.ru/maps/staticapi/doc/dg/concepts/map_type.xml

Алексей Корепов
28 января 2016, 05:24

Печать на maps.yandex.ru работает корректно, но что-то не получилось найти как им это удалось добиться :(

В static api проблема в том что нельзя делать поиск по адресу, а нужно заранее знать точные координаты метки. Поэтому придется как-то допиливать js-вывод.

Если у кого-то получилось - то подскажите пожалуйста как это удалось сделать.

на maps.yandex.ru печать сделана с помощью static api

про поиск по адресу, проблемы нет показать метку по координатам

Алексей Корепов
28 января 2016, 05:24

Да, я уж заметил что там Static API в итоге, но какой-то странный - не картинка, а со скроллом и зумом.

А подскажите пожалуйста как можно узнать в таком случае координаты по адресу? У меня скрипт на PHP знает только адрес в формате "Москва, Кремль", а через Static API нужно указать GPS-координаты метки.

В JS API я делаю так:

var myGeocoder = ymaps.geocode(addr);
myMap.geoObjects.add(
new ymaps.Placemark(res.geoObjects.get(0).geometry.getCoordinates(),
              {iconContent: ''},
              {preset: 'twirl#redIcon'}
          )
      );

А в Static API я не нашёл способа как получить координаты.