Клуб API Карт

июль 2011
Модуль "Геобаза" с использованием API Яндекс.Карт
Garry
1 июля 2011, 09:25

Здравствуйте!
Большое спасибо разработчикам API Яндекс карт! Используя эти инструменты, мне удалось создать модуль для своей системы управления контентом (http://sing-cms.ru/geobase/), который даёт возможность пользователям сайта размещать на карте объекты (отдельные точки, к которым могут быть присоединены группы точек и линии маршрутов) с описанием и фотографиями.
В процессе разработки этого модуля мною создана система кластеризации (объединение близкорасположенных точек в общую метку), которая позволяет достаточно быстро обрабатывать для отображения большое количество точек. Сначала данные кластеризуются на этапе записи объекта, затем дополнительно при выводе карты. Предусмотрено создание категорий для объектов и загрузка png-меток для точек и кластеров.
Изначально модуль создавался для базы данных аэродромов малой авиации (http://aero-baza.ru/info/ - работающий пример, только отдельные точки), но этот проект оказался невостребованным (у авиаторов появился другой ресурс на основе карт google).


Пример отображения линии маршрута с дополнительными точками можно увидеть здесь - http://sing-cms.ru/geobase/priroda/seliger


Модуль и саму cms можно скачать свободно и потестировать. Буду признателен за конструктивную критику и советы.

1 комментарий
примеры проектов,API 1.x
Помогите разобраться с шаблоном метки
dreval.s
1 июля 2011, 18:10

Я создаю стиль метки

            var test = new YMaps.Style(
            test.iconStyle = new YMaps.IconStyle(new YMaps.LayoutTemplate(PlacemarkLayout)
            test.balloonContentStyle = new YMaps.BalloonContentStyle(new YMaps.Template('<div>$[description]</div>')

затем при добавлении самой метки пишу

placemark.setIconContent('<img src="img/PAS-STAY.png" width=25 height=25 ...)и т.д. описываю картинку для метки

но мне при создании метки необходимо повернуть ее на заданный угол, скрипт поворота есть ,но когда я его добавляю в setIconContent, то он не выполняется, а если добавляю в дескрипшн балуна,то метка поворачивается, подскажите в чем проблема и как ее исправить,скрипт поворота на JS в тегах <script>...</script>

1 комментарий
API 1.x
Отображение карт на мобильном телефоне
sandersp
3 июля 2011, 11:51

Здравсвуйте.

Появился вопрос:

На сайте есть карта. Если заходить на сайт к компьютера, все отображается хорошо, но есл зайти с телефона, например, используя Оперу-мини, то вместо карты видны только условия использования и надписи "Спутник, карта, гибрид" в виде ссылок.

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

2 комментария
API 1.x
Правильная метка по адресу
pavel-klimenko
3 июля 2011, 16:29

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

Можно через поиск

var ml = new YMaps.YMapsML('http://geocode-maps.yandex.ru/1.x/?geocode=<АДРЕС>&key=<KEY>

           // Обработчик успешной загрузки YMapsML
            YMaps.Events.observe(ml, ml.Events.Load, function (ml, error) {
                var geoResult = ml.get(0).get(0);
                geoResult.description = geoResult.metaDataProperty.GeocoderMetaData.text;
                map.addOverlay(geoResult);
                map.setBounds(geoResult.getBounds()
//
                var geoResult = ml1.get(0).get(0);
                geoResult.description = geoResult.metaDataProperty.GeocoderMetaData.text;
                map.addOverlay(geoResult);
                map.setBounds(geoResult.getBounds()
            }
Но если адресов много, не очень хорошо получается

1 комментарий
API 1.x
map - определение отсутствует
max.zolotyh
3 июля 2011, 19:47

 

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

 

Есть страница с картой, созданной типовым способом:

<script type="text/javascript">

YMaps.jQuery(function () {".
       map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]
       map.setCenter(new YMaps.GeoPoint(59, 60), 12);

}

</script>


Необходимо обратиться к объекту map из другой процедуры того же документа. Например:

<a href="#" onClick="alert(map.getCenter().toString());return false;">Показать!</a>

Вполне естественной реакцией является "map-определение отсутствует" (ведь получается что объект map существует только в функции onLoad).

 

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

4 комментария
API 1.x
DblClickZoom и события на клик
R
3 июля 2011, 23:44

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

YMaps.Events.observe(map, map.Events.Click, function (map, mEvent)
5 комментариев
API 1.x
Cобытие выбора типа карты
Дмитрий Д.
4 июля 2011, 02:21

Здравствуйте! Подскажите пожалуйста, каким образом можно повесить обработчик на событие выбора типа карты (схема, спутник, гибрид)?

2 комментария
API 1.x
Преобразование координат с Hotspots
max.zolotyh
4 июля 2011, 08:15

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

Я использую слой активных областей из примера:

http://api.yandex.ru/maps/jsapi/doc/mod/tasks/how-to-create-hotspots-layer.xml



В JavaScripte тайла содержится следующий код:

...

{
                "data" : { "name": "Севастополь" },
                "base": new YMaps.GeoPoint(33.558616,44.585098),
                "geometry":[
                    [-10,-5,10,33]
                ]
            },
...

Но к сожалению использовать геграфические координаты у меня нет возможности. Координаты объектов мне известны как пиксели карты (например х=700917,  у=322732, масштаб 12) Каким образом задать параметр base в пиксельных координатах?

5 комментариев
API 1.x
Yandex maps IE7
CS
4 июля 2011, 16:49

Всем привет, я использую яндекс карты версии 1.0 и у меня возникает проблема в IE7

Я подключаю JS:

<script src="http://api-maps.yandex.ru/1.0/index.xml?key=[MY API KEY] type="text/javascript"></script>

в хэде странице.

В IE7 при загрузке страницы вылазит сообщение об остановке выполнения скрипта, так как он замедляет работу Internet Explorer.

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

 

5 комментариев
API 1.x
Аналогичный функционал с google
xxxPatriot777xxx
4 июля 2011, 17:15

 

Добрый день.


Существует ли в яндекс картах возможность кастомизовать карту, ее дизайн,


т.е наложить изображения, перекрасить ее ??!?!


http://googlegeodevelopers.blogspot.com/2010/10/five-great-styled-maps-examples.html

 

PS возможна ли реализация такого функционала в яндексе и когда это будет?

Спасибо.


 

 

1 комментарий
API 1.x
Вариант использования Народной карты
vaddoo
5 июля 2011, 11:13
Вариант использования Народной карты

Хочу поделиться опытом использования Народных карт на своем сайте.

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

инфраструктура района в котором этот дом находится(строится). Описание инфраструктуры (школы, дет сады и т.д.) - процесс крайне трудоемкий и длительный, но нам удалось его предельно упростить, достаточно указать координаты дома и страница с инфраструктурой готова!

Пример можно посмотреть здесь http://novostroy.spb.ru/object-info/pobeditel/?tab=3 или в любом другом доме.

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

Нет комментариев
примеры проектов,народная карта,API 1.x
наложение сканированной и распознанной карты на yandex maps
ot-rustama
5 июля 2011, 15:18

Не могу найти нормальную интерактивную карту Махачкалы. Купил бумажную, за 60 рублей кажется. Вроде не плохая, всегда в сумке со мной, но полнотекстового поиска уж сильно не хватает. Система поиска по принципу, какая улица в каких квадратах находится Б-1:Б-5, как в морском бое, не особо нравится....

Можно ли наложить на yandex maps распознанную  (после сканирования) карту, т.е. все названия улиц и др. объектов? 


И посоветуйте пожалуйста туториал по созданию карты, а точнее, по наложению имеющейся бумажной поверх yandex maps . Также интересно как делаются улицы, чтобы для них маршруты автобусов можно было наложить.

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

4 комментария
API 1.x
Расположение кнопок на карте
gorod6222
6 июля 2011, 11:18

Добрый день!

 

Имеется карта http://www.gorod.ryazan.ru/map/ 

 

Каким образом можно изменить расположение кнопок, например "Пробки" поставить перед раскрывающимся меню вида карт и сделать пошире окно поиска?

2 комментария
API 1.x
Слой "Фотографии"
gorod6222
6 июля 2011, 13:02

Нигде не могу найти как прикрепить к карте слой Фотографии, который описан здесь:

 

http://help.yandex.ru/maps/?id=1103539

2 комментария
API 1.x
Как работает YMaps.load() метод?
nurtaev.aibek
7 июля 2011, 16:01

Как работает YMaps.load() метод?
Например у меня есть такая проблема:

alert(ymap);  - проверка до инициализации
if(ymap==undefined) YMaps.load(init);   - внутри инита прописан еще один alert, чтобы было понятно что мы внутри метода
alert(ymap);  - проверка после инициализации

я ожидаю такой порядок алертов:
undefined
vnutri
[object Object]

но на деле получаю следующее:
undefined
undefined
vnutri

как-будто YMaps.load() работает в параллельном потоке
Можете объяснить в чем дело и как с этим справиться?

1 комментарий
API 1.x
Поиск объекта по координатам
Евгений
8 июля 2011, 10:14

Я отображаю метки на карте с помощью диспетчера объектов (YMaps.ObjectManager). Для каждого приближения свой набор меток (кластеризация меток на сервере). Рядом с картой есть список объектов.

У меня вопрос как при клике по элементу списка позиционироваться(это умею) и открывать балун у метки с нужными координатами и ID. Есть ли поиск объектов на карте по координатам

4 комментария
API 1.x
Как правильно установить масштаб карты при использовании множественного геокодера
deeppaul
9 июля 2011, 11:20

Здравствуйте!

У меня есть массив адресов, в цикле каждый я отображаю на карте при помощи гекодера (думаю нет смысла код предоставлять, все просто). Но как потом правильно установить масштаб и центр карты, чтобы все адреса были видны?

_map.setBounds(geoResult.getBounds()
_map.setZoom(16, { smooth: true }

geoResult это результат каждого геокодирования для каждого адреса.

Помогите плиз.

14 комментариев
API 1.x
Сдвиг "виртуального" центра карты.
Rpsl
9 июля 2011, 12:55

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

Боюсь не понятно написал, попытался нарисовать.

 

Есть идеи ?

Спасибо.

6 комментариев
центр карты,API 1.x
kml и setBounds
geovox
9 июля 2011, 19:39

Добрый день.

Можно ли использовать группу, полученную из kml-файла для определения отображаемой области карты?

Впрямую не получается:

 

 

var kml = new YMaps.KML("<?=$kml?>");

 

bounds = new YMaps.GeoCollectionBounds(kml);

map.setBounds(bounds);

 

 

 

В документации сказано, что .KML возвращает объект класса YMaps.GeoObjectCollection , а YMaps.GeoCollectionBounds в качестве параметра использует "набор геоточек. Принимает множество геоточек и рассчитывает их область видимости.".
Как передать группу GeoObjectCollection в виде "множества геоточек"?
Или есть другой способ отобразить KML с масштабированием по составу этого KML?

 

1 комментарий
API 1.x
Вычисление расстояний по пиксельным координатам
max.zolotyh
10 июля 2011, 11:39

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

 Не могу найти информацию - существует ли линейная зависимость между пиксельными координатами? Если да, то какая?

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

 

 

13 комментариев
API 1.x