Клуб API Карт

июль 2012
Заголовок не указан
shecspi
1 июля 2012, 10:18

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

7 комментариев
Во время геокодирования перелёт к результату
serious2008.paschkevich
1 июля 2012, 16:04

Здравствуйте. Я вот пытаюсь модифицировать эту вещь

http://api.yandex.ru/maps/doc/jsapi/2.x/examples/searchform.html

Мне нужно чтобы когда нашёлся результат, к нему осуществился перелёт.

Вот как тут примерно

http://api.yandex.ru/maps/doc/jsapi/2.x/examples/mappanto.html

 

Но я никак не могу соединить геокодирование и эту вещь

 

А так же ещё один вопрос. Мне изначально нужно центирровать на новосибирской области. Не подскажите координаты её?

1 комментарий
примеры проектов,метка,API 2.0,геокодирование
В Opera не отображается карта
Алексей Дмитриевич
1 июля 2012, 20:16

Opera Версия: 12.00  Сборка: 1467  Платформа: Win32  Система: Windows 7

 

Во всех браузерах карта отображается, а в Opera категоричеки не хочет:

FF

Opera + консоль DF

 

Opera как бы говорит что API не загружен им. Наверное таки потерялось где то? Хотя по сылке в теге script нормально переходить можно и открывается таки скрипт API.

В чём может быть дело?

КОд этой карты через конструктор сделан, API 2.0

UPD: Это не баг Яндекс карт, это баг оперы.

2 комментария
Opera
как задать минимальный зум в API 2.0?
wir2al
1 июля 2012, 20:48

map.setMinZoom(10);

как задать минимальный зум в API 2.0?

2 комментария
Кластиризация, подгрузка JSON
pangai
2 июля 2012, 06:11

 

Доброго времени суток друзья...

 

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

 

  1. Имеется много объектов - разбитые на группы (на примере - по ул. города) - данные получаю JSON
  2. Выводить на карту первоначально в виде кластеров (улица) с числом объектов
  3. По нажатии на кластер - с помощью подгузки, есть скрипт который в виде JSON отдает данные, вывести на карту объекты, посчитать максимальный масштаб - увеличить,  добавить кнопку "Убрать объекты" в меню инструменты...
  4. После закрытия развернутых объектов - вернуть кластеры - сменить масштаб.

 

По примерам все получается - а вот с небольшим дополнением не идет. В API 2.0 - не силен... Будут полезны любые советы, пояснения, ссылки...

 

 

 

 

Нет комментариев
Темизация балуна кластера
w1ldzer0
2 июля 2012, 08:46

Добрый день. Возникла такая проблема.

Создал свой лейаут для балуна кластера (в ymaps.templateLayoutFactory.createClass переопределил метод build). Вроде всё отлично, но появилась одна проблема - перестала пропадать иконка кластера при клике. Что бы не пытался сделать - ничего не получается. В какую сторону копнуть?

4 комментария
кластеризатор,API 2.0,балун
[API 2.0]
alexeytula
2 июля 2012, 10:57

Добрый день всем!

 

Помогите решить следующую проблему:

на карту вывожу несколько Placemark, при клике по которым нужно:

  1. Открыть Ballon со стандартным текстом "Идет загрузка" - это я могу :)
  2. Узнать, по какому именно Placemark был щелчок, и сделать соответствующий ajax запрос. У каждого Placemark должен быть ID - число, указывающее к какой странице я буду делать запрос.
  3. В Ballon вместо стандартного текста поместить результат ajax запроса.

 

Я не могу понять, каким образом при создании Placemark мне указать идентификатор страницы которую загружать и как получить его в обработчике "click"

Вот мой код:

var placemark = new ymaps.Placemark(мои координаты,{balloonContent: 'Загрузка...'},{});

placemark.events.add("click", function (e) {мой обработчик, который пока только показывает Ballon});

myMap.geoObjects.add(placemark);

6 комментариев
метка,API 2.0,AJAX,балун
Проблема с ajax и маркерами
filondesign
2 июля 2012, 12:13

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

Вроде все хорошо но есть одно НО... Маркеры вставляются только по второму клику.
С первого раза не вставляются.
Что делать? 

$('#rubrics ul.level_3 li a').click(
        function() 
        {
            var coord = getCoordinats();
            for (i = 0; i < coord.length; i++)
            {
                var properties = 
                {
                    iconContent: coord[i].id,
                    balloonContent: coord[i].content,
                };
                    
                    myPlacemark = new ymaps.Placemark(coord[i].point.split(','), properties);
                    // Добавляем метку в коллекцию.
                myCollection.add(myPlacemark);
            } 
        }
    );    
17 комментариев
метка,API 2.0,AJAX,балун
API 2.0 - Получение доступа к стилю объекта GeoObject, а также содержимому балуна
Topor Alexei
2 июля 2012, 13:22

Как можно поменять стиль метки и как получить доступ к содержимому балуна для метки в АПИ 2.x

Пытаюсь поменять стиль для меток на карте, которые я загружаю

ymaps.geoXml.load(url).then(function (res) {
    res.geoObjects.each(function (item) {
        item.options.preset = 'twirl#houseIcon';
        myMap.geoObjects.add(item);
    });
}

Но так не выходит. В firebug-e смотрю, а у объекта item.options нет свойства preset.

Если использовать debug версию библиотеки, то я заметил, что есть такое свойство item.options._options.preset и код item.options.preset = 'twirl#houseIcon'; работает.

Аналогичный вопрос про доступ к содержимому балуна для метки.

в debug версии я могу обратиться: item.properties._data.name и item.properties._data.balloonContentBody

Как понимаю item.options._options и item.properties._data приватные свойства и в релиз версии подвергаются оптимизации и меняют свои названия.

Поидее делаю что-то не так. Как можно поменять стиль метки и как получить доступ к содержимому балуна для метки?

3 комментария
метка,API 2.0,балун,YMapsML
Пример: автоматическое переключение на Народную карту
tekunova
2 июля 2012, 15:58
Пример: автоматическое переключение на Народную карту

 

===Пример не актуален. В версии API 2.0.20 переключение на Народную карту по умолчанию включено у всех пользователей. Отключается опцией yandexMapAutoSwitch.===

В марте на Яндекс.Картах появился новый слой — Народная карта. Если нет подробной схемы какого-нибудь города, при приближении карты вы автоматически переключаетесь на «народный» слой.

В API Яндекс.Карт пока нет такой возможности, и в клубе часто спрашивают, как реализовать переключение в своем проекте.  и  написали и выложили пример, который поможет вам быстро сделать «проваливание» в Народную карту у себя на сайте.

Код на гитхабе.

Посмотреть пример в новом окне.

Надеемся, это сильно упростит вам задачу. Ждем примеры ваших проектов!

1 комментарий
API 2.0,народная карта,примеры,статьи
Маршрутизатор
s.dreval
2 июля 2012, 16:20

Подскажите, есть ли во второй версии апи Editor для маршрута? то есть когда построили уже маршрут и нанесли на карту, то можем потом его изменять перемещением точки маршрута как в первой версии и есть ли какие-то функции, чтоб не отображались метки в начале пути и в конце и небыло балунов на маршруте?

7 комментариев
маршрутизация,API 2.0
Узнать диапазон ГЕО координат тайла, отрисованном в области карты API 2.0
browserquest
2 июля 2012, 18:42

Добрый день!

 

Дано:

- Пользователь перетащил карту стандартным drag&drop 

- В область карты отрисовался тайл

- API 2.0

 

Задача:

- узнать номер тайла

- узнать диапозон гео координат попадающих в этот тайл

 

Спасибо!

2 комментария
API 2.0,тайлы,область видимости
Макет иконки кластера - как?
konclave
2 июля 2012, 19:05

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

 

Делаю так:

var clusterLayout = ymaps.templateLayoutFactory.createClass('<div class="map-cluster">!</div>');

var clusterer = new ymaps.Clusterer();

 

clusterer.createCluster = function (center, geoObjects) {

                var cluster = ymaps.Clusterer.prototype.createCluster.call(this, center, geoObjects);

                cluster.options.set('layout', clusterLayout);

                return cluster;

            }

 

На сколько я понимаю, переопределенный createCluster вызывается при вызове that.clusterer.add()

Почему же тогда не меняется лэйаут?

7 комментариев
метка,кластеризатор,API 2.0
перенос строк в балуне
Kvinta30
2 июля 2012, 21:24

Нанес объекты на Яндекс карту. Многоугольники с балунами. В балунах текст. Все красиво, где расставлял переносыстрок - там они есть.

Подгрузил на страничку XMapsML фаил, весь текст в одну строку :(

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

Отрисованная карта: http://maps.yandex.ru/?um=2AFK6Hx6e5RmIizO09Ai_tdW5VaGwE8O&l=map

(Зум только отдалите немного чтоб оьекты увидеть)

На страничке подгруженная через XMapsML фаил: http://fishmap.narod2.ru/

4 комментария
Расчет времени маршрута с учетом пробок в другое время?
wir2al
3 июля 2012, 02:03

Я построил маршрут и вывел время в пути с учетом пробок, если поехать прямо сейчас. А есть ли возможность произвести расчет времени маршрута с учетом пробок в другое время (выбираемо, например в четверг в 17:00)?

5 комментариев
маршрутизация,API 2.0,пробки
Получить название местности из геокодера
wir2al
3 июля 2012, 02:18

В JS ноль.

В геокодер вбиваю название местности, например Киевский вокзал. geoto.geometry.getCoordinates() — координаты Киевского вокзала.

А как вывести название текущей местности (в данном случае Киевский вокзал или метро Киевская? Нужно, чтобы назвать метку в маршруте. В инпут же я могу как угодно написать, а назвать нужно красиво.

API 2.0

1 комментарий
API 2.0,геокодирование
Конструкция «Геокодер 4 точек + маршрут из этих точек»
wir2al
3 июля 2012, 02:36

Ребята, выручайте.

 

Задача:

Есть 4 инпута с адресами, которые, выглядят примерно так: «2-я Бауманская, 5», «Тверская, 4», «Большая Никитская, 11», «Киевский вокзал». Необходимо произвести поиск в столице и области на карте этих адресов и вывести маршрут через эти адреса. Кол-во адресов может меняться от 2 до 4 (добавлением/удалением промежуточных точек типа Тверской и Большой Никитской). Метки адресов маршрута должны быть названы, причем не напрямую из инпутов (там может быть и грамматическая ошибка и строчные буквы), а обратным геокодированием точек маршрута (как на примере http://api.yandex.ru/maps/doc/jsapi/1.x/examples/geocodingreverse.html).

У меня получилась вот такая конструкция:  

 

ymaps.ready(init);
function init() {
        $('#map').empty();

        var myMap = new ymaps.Map("map", {
                center: [55.754178, 37.624678],
                zoom: 12,
                behaviors: ["default", "scrollZoom"]
            }, {
                minZoom: 10
            }
        );
        myMap.controls.add("zoomControl")
        .add("trafficControl");

        var from = document.getElementById("from").value;
        var to = document.getElementById("to").value;
        var through1 = document.getElementById("through1").value;
        var through2 = document.getElementById("through2").value;

        var myGeocoder = ymaps.geocode(from, {boundedBy: [[55.296944, 36.89326], [56.223008, 38.631846]], strictBounds: true, results: 1});
        myGeocoder.then(
            function (res) {
                if (res.geoObjects.getLength()) {
                    var geofrom = res.geoObjects.get(0);
                    var myGeocoder = ymaps.geocode([55.742904, 37.565767], {boundedBy: [[55.339351, 37.121501], [56.199283, 38.659999]], strictBounds: true, results: 1});
                    myGeocoder.then(
                        function (res) {
                            if (res.geoObjects.getLength()) {
                                var geoto = res.geoObjects.get(0);
                                var myRouter = ymaps.route([geofrom.geometry.getCoordinates(), geoto.geometry.getCoordinates()], {mapStateAutoApply: true});
                                myRouter.then(function(route) {
                                        var points = route.getWayPoints();
                                        points.get(0).options.set('preset', 'twirl#blueStretchyIcon');
                                        points.get(0).properties.set("iconContent", geofrom.geometry.getCoordinates());

                                            points.get(1).options.set('preset', 'twirl#redStretchyIcon');
                                            points.get(1).properties.set("iconContent", geoto.geometry.getCoordinates());

                                        route.getPaths().options.set({
                                            balloonContenBodyLayout: ymaps.templateLayoutFactory.createClass('$[properties.humanJamsTime]')
                                        });
                                        myMap.geoObjects.add(route);
                                    },
                                    function (error) {
                                        alert("Возникла ошибка: " + error.message);
                                    }
                                )
                            }
                        },
                        function (error) {
                            alert("Возникла ошибка: " + error.message);
                        }
                    )
                }
            },
            function (error) {
                alert("Возникла ошибка: " + error.message);
            }
        )        
};

 

 

 Т.е. для того, чтобы произвести геокодирование 2 адресов, приходится засовывать один геокодер в другой. С 4 адресами вообще ужас получится. Может можно как то это дело упростить?

P.S. [55.742904, 37.565767] — координаты, внутри которых производить поиск (прямоугольник содержащий в себе мск и область). Может можно как то задать в геокодере, чтобы искались адреса, наиболее близкие к центру мск?

22 комментария
маршрутизация,API 2.0,геокодирование
Аналог опции "backgroundMapType в апи 2.0
dstime
3 июля 2012, 16:51

Подскажите пожалуйста аналог опции "backgroundMapType", которая используется при создании карты из пользовательских тайлов, для карт апи 2.0

7 комментариев
API 2.0
IE8 выдаёт ошибку "new"
art028
3 июля 2012, 18:57

Добрый вечер!

 

IE снова веселится надо мной)

Выдаёт ошибку:


Сообщение: Объект не поддерживает это свойство или метод

Строка: 201
Символ: 1
Код: 0
URI-код: http://www.mesta3d.ru/samara/new


Сообщение: Объект не поддерживает это свойство или метод
Строка: 320
Символ: 1
Код: 0
URI-код: http://www.mesta3d.ru/samara/new

За что? Что не так? 

1 комментарий
глобальные стили от яндекс карт
AshotHC
3 июля 2012, 19:09

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

обнаружил, что с подключенным api карт генерируется следующий css-код

 

:link {

color: #1a3dc1

}

 

:link:hover, :visited:hover {

color: red !important

}

 

как с этим бороться?

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