Клуб API Карт

февраль 2013
Яндекс карты не открываются в Opera 11.11
on.samorodova
1 февраля 2013, 11:15

День добрый! Помогите разобраться  с картами и их отображением.

В Opera 11.11 не отображается схема на странице http://www.kardinal-mebel.ru/contacts . В то время как, в более новых версиях все отлично.

 

Нет комментариев
ошибка в документации
Глазырев Константин
1 февраля 2013, 14:05

http://api.yandex.ru/maps/doc/jsapi/2.x/ref/reference/Map.xml#controls

 

converter

map.Converter converter

Преобразователь пиксельных точек карты из глобальных в локальные и наоборот.

Пример:

// Преобразуем координаты мыши в географические.
 
var projection = map.options.get('projection');

// Преобразуем координаты мыши в географические.
var projection = map.options.get('projection');
$('#map').bind('click', function (e) {
console.log(projection.fromGlobalPixels(
map.converter.pageToGlobal([e.pageX, e.pageY]), map.getZoom())
));
});


Уберите лишнюю скобку.
1 комментарий
Пользовательская кнопка закрытия балуна
tzhe
1 февраля 2013, 14:20

У балуна есть стандартная кнопка закрытия.

Но при просмотре яндекс карты через смартфон, эта кнопка очень мелкая, попасть сложно.

Можно ли увеличить ее раза в два или создать свою кнопку?

Спасибо.

8 комментариев
API 2.0,балун,макеты
красивая подгрузка тайлов
teterin-ilya
1 февраля 2013, 14:38

Как проще кастомизировать подгрузку тайлов карты? Чтобы вместо некрасивого серого квадрата, заменяющегося куском карты, был фэйд-ин или что-то еще.

 

2 комментария
Прошу помочь разобраться: polygon, startDrawing, события
zh00pel
1 февраля 2013, 16:31

Не могу вкурить как вместе увязать так, чтобы сделать то что мне необходимо.

И так, задача: создать новый полигон на карте.

Имеется несколько полей и кнопка: - поле id, под которым полигон будет храниться в БД (уникаьный идентификатор участвует в названии полигона - polygon[id]), поле name - человеческое название полигона, кнопка button - создание и сохранение в БД.

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

Не могу понять как это все вместе увязать. Получается, без клика по карте, я не получу координаты начальной точки для полигона. И наоборот, без инициации создания, я не смогу получить названия полигона, для нанесения на карту, который в свою очередь я не могу нанести, т.к. polygon[id].editor.startDrawing() не может начаться без начальной точки на карте.

Короче, у меня уже голова кругом идет. Я где-то запутался или что-то недопонял в документации. С событиями и editor еще не работал. 

3 комментария
редактор геометрии,API 2.0,полигон
Прямое геокодирование — содержимое балуна
spb75
1 февраля 2013, 18:41

ymaps.geocode('Москва').then(
function (res) {
myMap.geoObjects.add (res.geoObjects.get(0));
});

--------------------------------

Как изменить содержимое балуна на произвольное либо дополнить призвольным текстом?

Вместо «Россия, Москва»: «Столица России» или  «Россия, Москва — это столица России»

3 комментария
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,геокодирование
Вычисление площади многоугольника
zh00pel
2 февраля 2013, 01:08

Ни кто не считал площадь многоугольника в километрах?

Как понял стандартного средства для этого нет, но быть может есть какие-то альтернативы?

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

8 комментариев
API 2.0,полигон
Неправильный цвет полигона
kr-aleksandr
2 февраля 2013, 15:09

PHP-скрипт генерит JS-код с одним цветом полигона, а браузер (хром, фф, ие, etc) рисуют другим цветом (006cff). Что делать? 

var polygon = new ymaps.Polygon([
[
[56.855534,35.927153],
[54.228788,37.624627],
[56.413582,40.443432]
], {
hintContent: ''
}, {
fillColor: '#03ff03',
interactivityModel: 'default#transparent',
strokeWidth: 2,
opacity: 0.5
}]);
myMap.geoObjects.add(polygon);

2 комментария
API 2.0,полигон
Точность геокодирования в API 2.0
galitsky
3 февраля 2013, 01:02

Есть ли аналог precision в API 2.0 ? (не нашёл ничего в документации)

В API 1.1 было

if ((geocoder.get(n).precision == "exact") || (geocoder.get(n).precision == "number")) {

1 комментарий
API 2.0,геокодирование
Перетаскиваемый баллун, с хвостиком, указывающим первоночальную точку
freshfactory.tracker
3 февраля 2013, 12:31

Нужна возможность перетаскивать баллун, так чтоб был хвостик, указывающим точку, которой принадлежит балун. Как я понимаю сейчас такой возможности в апи нет, и надо все ручками реализовывать, это верно? 

9 комментариев
API 2.0,балун
Кластеры + Множественное геокодирование
spb75
3 февраля 2013, 23:36

Совместимо это или нет?

Текущий вариант: страница

Цель: сокращение кода и ускорение загрузки

и какой минимальный пакет для сохранения функциональности текущего варианта (кластеры + геокодер)

1 комментарий
кластеризатор,API 2.0,геокодирование
Собирание меток в коллекции или группы
inkubu
4 февраля 2013, 10:55

Подскажите пожалуйста, как собрать метки подгруженные из YMapsML в коллекции или группы?

Если можно на этом примере http://ymapsapi.narod2.ru/articles/mymaps/

1 комментарий
метка,API 2.0,коллекции,YMapsML
Не показывается карта в модальном окне Twitter bootstrap через аякс
Nekulin
4 февраля 2013, 11:15

В 1 первый раз когда грузишь карту она показывается, а при закрытии модального окна и снова октрытии и загрузки карты уже ее нет, потмоу что он не смог определить размеры и везде в width и height стоит 0

7 комментариев
API 2.0,AJAX
Добавления меток пользователями и вывод по категориям свой слой карты
kiikiik
4 февраля 2013, 11:20

Добрый день. Помогите разобраться что не так в коде. Есть пример тут Яндекс.Карта на Вашем сайте с возможностью добавления меток пользователями и вывод по категориям. Версия для API Яндекс.Карт 2.х файлы как есть в оригинале  

 тут . 

Я исправил код  

myMap = new ymaps.Map("map", {
                    center: [56.326944, 44.0075], 
                    zoom: 13
                }, {
                    balloonMaxWidth: 600
                });

 

на код из примера Яндекс Апи, Пользовательский слой карты

  

// Создаем декартову систему координат, на которую будет проектироваться карта.
            // Определяем границы области отображения в декартовых координатах.
            var myCoordSystem = new ymaps.projection.Cartesian([
                    // Координаты левого нижнего угла
                    [-1, -1],
                    // Координаты правого верхнего угла
                    [1, 1]
                ]),
                // Создадим собственный слой карты:
                MyLayer = function () {
                    return new ymaps.Layer(
                        // Зададим функцию, преобразующую номер тайла и уровень масштабировая
                        // в URL до тайла на нашем хостинге
                        function (tile, zoom) {
                            return "http://mt.gmapuploader.com/tiles/FVSH1JsvdT/tile-" + zoom + "-" +
                                (tile[1] * Math.pow(2, zoom) + tile[0]) + ".jpg";
                        }
                    )
                };
            // Добавим конструктор слоя в хранилище слоёв под ключом my#layer
            ymaps.layer.storage.add('my#layer', MyLayer);
            // Создадим новый тип карты, состоящий только из нашего слоя тайлов,
            // и добавим его в хранилище типов карты под ключом my#type
            ymaps.mapType.storage.add('my#type', new ymaps.MapType(
                'Схема',
                ['my#layer']
            ));
                // Создаем карту в заданной системе координат.
                // Для того, чтобы был виден пользователький слой карты, устанавливаем ее тип в null.
            var myMap = new ymaps.Map('map', {
                    center: [0, 0],
                    zoom: 2,
                    type: 'my#type'
                }, {
                    maxZoom: 4, // Максимальный коэффициент масштабирования для заданной проекции.
                    minZoom: 2, // Максимальный коэффициент масштабирования
                    projection: myCoordSystem
                });

 

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

При нажатии на категории (к примеру бар), в консоле видна ошибка Uncaught TypeError: Cannot read property 'geoObjects' of undefinedв функции function show_c(c). 

5 комментариев
метка,API 2.0
Контрол с кнопками навигации.
vadim.zhiltsov
4 февраля 2013, 11:23

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

4 комментария
элементы управления,API 2.0
О pointer-событиях в IE10 на примере API Яндекс.Карт на UWDC в Челябинске
tekunova
4 февраля 2013, 17:45
О pointer-событиях в IE10 на примере API Яндекс.Карт на UWDC в Челябинске

20 и 21 февраля в Челябинске Сергей Константинов, руководитель группы разработки API, выступит на конференции UWDC 2013 с докладом «Работа с pointer-событиями в IE10 на примере API Яндекс.Карт».

В API Яндекс.Карт поддержка тач-версии Internet Explorer 10 появилась в версии 2.0.22, так что нам есть о чем рассказать. Кратко тезисы доклада можно сформулировать так:

— общая концепция pointer-событий в IE10;
— скрещиваем ежа с ужом;
— инструменты разработки и тестирования;
— «живые» устройства: «Империя наносит ответный удар»;
— подводные грабли и выводы.

Узнать подробную информацию о конференции и условиях участия можно на сайте 2013.uwdc.ru.

Константинов
Нет комментариев
конференции,анонсы,API 2.0,IE10
Получение расстояния между 2 точка без JavaScript
newivanovec
4 февраля 2013, 19:51

Как получить расстояние между 2 точками используя route.getHumanLength() в ЯваСкрипте я знаю.

Мне нужно получить расстояние, но без использования ЯваСкрипт.

Возможно ли это, например, используя YMapsML (Yandex Maps Markup Language)?

11 комментариев
API Яндекс.Карт версия 2.0.23
tekunova
5 февраля 2013, 16:50
API Яндекс.Карт версия 2.0.23

Опубликована новая версия API Яндекс.Карт. Она доступна по адресу api-maps.yandex.ru/2.0.23. Во четверг, 7 февраля, мы переключим на нее api-maps.yandex.ru/2.0. Если вы хотите продолжить использование предыдущей версии, указывайте api-maps.yandex.ru/2.0.22.

Пожалуйста, прочтите статью о системе версионирования API.

Исправлено:

— Исключение при модификации поля из обработчика изменения этого поля в классе Monitor.

— Не бросаются события на миникарте, пока она не добавлена на карту.

— Ошибки верстки в IE7.

C этой версии в API изменился механизм определения браузера. Если вы увидите какие-то артефакты, которых не было в версии 2.0.22, пишите нам, пожалуйста, сразу в клубfacebook или в комментариях к посту.


Команда разработчиков API Яндекс.Карт.

Нет комментариев
обновление,API 2.0
Растягивающийся маркер меняет цвет при ресайзе
small_butterfly_long_long_as_long_as_i_can_do_it_here
5 февраля 2013, 18:21

Обнаружил довольно забавное поведение маркера на карте. Вот код для jsbox:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<html xmlns="http://www.w3.org/1999/xhtml" style="width:100%; height:100%">
<head>
    <title>Маркер-хамелеон</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
            type="text/javascript"></script>
<script type="text/javascript">
ymaps.ready(init);
function init () {
    var myMap = new ymaps.Map("map", {
        center: [55.76, 37.64],
        zoom: 10
    });
    myMap.geoObjects.add(new ymaps.Placemark([55.8, 37.6], {}, {
        preset: 'twirl#blueStretchyIcon'
    }));
};
</script>
</head>
<!-- Авторастяжение карты во весь экран.  При фиксированных размерах карты бага нет -->
<body style="width:100%; height:100%; margin:0">
<div id="map" style="width:100%; height:100%"></div>
</body>
</html>

При ресайзе этого окна иконка меняет цвет с синего на красный. Если не указывать свойство preset, то этого не происходит. Также этого не происходит с нерастяжимой иконкой

2 комментария
метка,API 2.0,ошибка