Клуб API Карт

октябрь 2012
Быстородействие карт при множестве уникальных объектов (ymaps.Polygon)
miami999
1 октября 2012, 14:47

Добрый день!

Для того, чтобы создать участки на карте (Polygon) со своим цветом, балуном и т.д. пришлось использовать перебор, причем на PHP. В итоге все работает, но т.к. участков около 1000, скрипт карты составляет примерно 40 000 строк, всвязи с чем загрузка карты явно замедляется. Вот пример кода (php переменные берутся из инфоблока и внимания на них можно не обращать):

 

<?foreach($arResult["ITEMS"] as $arItem):?>

var obj_<?=$arItem['ID']?> = new ymaps.Polygon([

            [

                <?=$arItem['PROPERTIES']['COORDS']['~VALUE']['TEXT']?>

            ]

        ], {

            balloonContent: "<div class='obj-info-window'>уникальная для каждого объекта инфа</div>"

        }, {

            strokeColor: "ffffff",

            strokeWidth: 1,

            strokeOpacity: 0.5,

            fillOpacity: 0.5,

            fillColor: "<?=$color?>",

openBalloonOnClick: false

        });

<?endforeach;?>

 

map.geoObjects

   <?foreach($arResult["ITEMS"] as $arItem):?>

     .add(obj_<?=$arItem['ID']?>)

   <?endforeach;?>;

 

<?foreach($arResult["ITEMS"] as $arItem):?>

obj_<?=$arItem['ID']?>.events.add('click', function () {

   $('#obj-info').html(obj_<?=$arItem['ID']?>.properties._i.balloonContent);

   obj_<?=$arItem['ID']?>.options.set('fillOpacity','1');

});

obj_<?=$arItem['ID']?>.events.add('mouseenter',function(){

   obj_<?=$arItem['ID']?>.options.set('strokeOpacity','1');

});

obj_<?=$arItem['ID']?>.events.add('mouseleave',function(){

   obj_<?=$arItem['ID']?>.options.set('strokeOpacity','0.5');

});

<?endforeach;?>;

 

Вопрос заключается в том, как убрать перебор php-переменных и повесить обработчик на каждый отдельно взятый объект?

7 комментариев
события,API 2.0,полигон
создание интерактивной карты Москвы
ЕПЗ отдел 54
1 октября 2012, 15:31

Возможно ли осуществить в API такую задачу:

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

4 комментария
Сохранение и использование результатов геокодирования
artv0lk
1 октября 2012, 17:25

Добрый день!

 

Я разрабатываемом проекте необходимо нахождение объектов на карте по почтовому адресу (в терминах API -- геокодирование) с той целью, чтобы пользователь по отображению метки на карте удостоверился, что введённый им адрес доставки товара существует. Логика такого решения: если пользователь увидит, что метка не стала на его дом, он перепроверит адрес, который, скорее всего был введён с ошибкой (неверную работу геокодера считаем маловероятной). В БД сайта будет сохраняться только введённый пользователем почтовый адрес (текстом).

 

По условиям использования возникли вопросы:

 

1. Является ли такое использование нарушением условий использования (http://legal.yandex.ru/maps_api/)?

 

2. А если в БД сайта будут сохраняться географические координаты (результат ответа геокодера), будет ли это нарушением этого пункта:

 

2.3.6.5. Сохранять, обрабатывать и видоизменять полученные через Сервис Данные (включая результаты геокодирования), за исключением случаев временного хранения (кэширования) результатов геокодирования исключительно для целей улучшения функциональности и работоспособности Сервиса и только для использования в рамках возможностей, предоставляемых Сервисом.

 

Если это будет нарушением, то существует ли платная версия API, где подобное использование разрешено?

 

Спасибо!

6 комментариев
Поставить на карту метку с заданными геокоординатами
xinfenglao
1 октября 2012, 20:30

Добрый день.

Задача следующая. Есть готовая карта в разделе "Мои карты" и есть пара геокоординат (lat и lon). Не нашёл как можно с использованием API или просто средствами веб-интерфейса Яндекс.Карт поставить по заданным координатам метку, добавив эту метку в указанную карту раздела "Мои карты". При этом надо, чтобы координаты полученной метки строго соотетствовали заданным в lat и lon, с точностью до количества знаков.

2 комментария
Разработка карты для сервиса на основе Яндекс.Карты API
kubim.ru
2 октября 2012, 10:34
– Пользователь в выпадающем списке выбирает интересующий его город
– Загружается карта этого города
– Пользователь на карте отмечает точку
– Выбирает необходимый радиус (см. картинку во вложении)
– При необходимости он может точно также добавить еще несколько точек на карте с радиусами (также возможность удалить их)
– Нам нужно "снять" географические координаты точки (точек) и выбранный радиус для дальнейшей работы

Разработка карты для сервиса на основе Яндекс.Карты API

6 комментариев
геокодирование
Raphaёl.js и Yandex API на собственной карте
serikkupt91
2 октября 2012, 11:19

Добрый день!

Имеется карта небольшого города(только город, без карт Яндекса). Существует ли возможность подключить Raphael.js как слой карты? И не нарушает ли это лицензионное соглашение?

9 комментариев
Выбор точек на карте
N2K3l64
2 октября 2012, 13:06

Добрый день.

Просьба подтолкнуть на верную мысль в решении следующей задачи.

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

Возможно ли реализовать такое? На что стоит обратить внимание, в сторону чего смотреть - буду рад любым советам.

1 комментарий
Выделение объектов на карте
blueyury
2 октября 2012, 16:49

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

 

При реализации одного проекта появилась необходимость использовать Яндекс-карты и как-то выделять на них различные объекты (строения, дома). Судя по API, сделать это можно добавлением полигона с требуемыми параметрами для отображения "над" тайловым слоем. Не нашел в документации, как через геодекодер можно вытащить геометрию конкретного здания, зная его физический адрес (после этого можно было бы создать новый экземпляр ymaps.Polygon, добавить его в коллекцию на карту и делать с ним что угодно). Если открыть народную карту, там, судя по всему, подобное уже реализовано. Как-то можно использовать существующую базу данных?

 

Просьба подсказать в каком направлении копать.

4 комментария
оповещение о ДТП
Павел Ло
2 октября 2012, 20:45

хотелось бы чтобы всплывали сообщения о ДТП отмеченных на яндекс карте в моем районе?

наподобие, как всплывает сообщение о приходе письма в мой почтовый ящик. ну или чтобы значки ДТП со звуком появлялись

можно ли это сделать?

4 комментария
не срабатывает элементарный myMap.setBounds(myCollection.getBounds()); [РеШеНо]
iytin-ne
3 октября 2012, 01:09

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

 console.log(myMap.geoObjects.getBounds());
    console.log(myCollection.getBounds());

они одинаковы ну указав в коде myMap.setBounds(myCollection.getBounds()); показывает серую карту, и только один балун. myMap.setBounds(myCollection.getBounds()); http://cybers.net.ua/3/concacts.html (карта которая слева, а не те что справа) пытался даже myMap.setBounds(myMap.getBounds()); всеравно такой же эфект.

4 комментария
Как получить объекты кластера?
AlexsisIT
3 октября 2012, 07:46

|cluster.events.add(""contextmenu"",

|function(e) {

|var massivecluster = e.get('geoObjects');

| for (var i=0; i<massivecluster.length; i++) {

|    aletr('p');

|};

|});

Вот код. При нажатии правой кнопкой мышки хочу обойти кластер, а он ругаеться на длину массива "length". При такой попытке "e.get('geoObjects');" ругается на значение свойства "get". 
Подскажите плиз как обойти кластер?
4 комментария
Не выводится всплывающая подсказка hint из xml в API 2.0 [Решено!]
coffeebox
3 октября 2012, 09:55

В версии API 1.0 при закрузке объектов из XML, чтобы появилась всплывающая подсказка, нужно было в: <repr:Style gml:id="mystyle" добавить: hasHint="true">, и тогда в подсказку выводился текст из <gml:name> объекта.

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

4 комментария
помогите с removeAll()
michaelprots
3 октября 2012, 11:43

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

 http://www.kuda-poyti.com/places/moscow

При нажатии на чекбокс "Клуб" иногда появляется ошибка в консоли

Uncaught TypeError: Cannot read property 'id_13492500015442792138' of undefined

А если по очереди тыкать на разные чекбоксы, то появляется ошибка

Uncaught TypeError: Object [object Object] has no method 'removeAll'

Закономерности что-то я уследить не могу, не могу понять, где у меня ошибка.


PS. наверняка, у меня полно "говнокода", не ругайте сильно :)

спасибо

1 комментарий
Частично не прорисовывается маршрут, не отображается содержимое балунов.
fireballll
3 октября 2012, 12:22

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

Никак не могу разобраться.

Вот два практически идентичных исходника (за исключением набора точек)

В первом всё работает, как было задумано, а во втором маршрут не дорисовывается до конца и до заполнения содержимого балунов дело не доходит совсем.

 

Неужели за эти несколько месяцев изменилась привязка адресов к координатам и роутер не может теперь к ним подъехать?

 

з.ы.: координаты были почитаны через яндекс-АПИ несколько месяцев назад и хранятся в базе.

з.з.ы.: исходники в комментариях.

8 комментариев
Открыть балун метки
SagaranoMail
3 октября 2012, 13:01

в функции объекта создаю метки, затем добавляю их в массив

var marks = [];

$().ready(function(){

 //здесь создается мой объект, остальной код и т.д.

}); 

и отдаю кластеру

...

this.cluster.add(marks)

... 

массив объявлен глобально, в любой момент я могу получить доступ к любому его члену(метке). Собственно хочу программно открыть балун у любой метки

пробую:

marks[0].balloon.ope();

в консоле:

Uncaught TypeError: Cannot read property 'balloon' of null  

 

ЧЯДНТ? 

6 комментариев
2.0 переключен на 2.0.17
tekunova
3 октября 2012, 17:49
2.0 переключен на 2.0.17

Мы переключили ссылку api-maps.yandex.ru/2.0 на версию API 2.0.17. Если вы хотите продолжить использование предыдущей версии, указывайте api-maps.yandex.ru/2.0.15.

Рекомендуем прочитать статью о системе версионирования и использовать наиболее подходящую для ваших задач ссылку для подключения API.

Нет комментариев
API 2.0
Ошибка в Clusterer.getObjectState() [UPD: исправлено в 2.0.18]
yuriy-apostol
3 октября 2012, 22:47

В 2.0.15 всё было нормально, а в 2.0.17 наблюдаю такое поведение:

На карте две метки, являются объектами кластера, но на определённом масштабе показываются отдельно. Проверяем Clusterer.getObjectState() одной из меток, видим, что isClustered == false. Уменьшаем масштаб, метки объединяются, isClustered == true. Увеличиваем масштаб, метки снова показываются отдельно, но всё-равно isClustered == true.

UPD: Поведение исправлено в 2.0.18.

4 комментария
кластеризатор,API 2.0
Проблема с IE 8.0.6001.18702 128-разр.
AlexsisIT
4 октября 2012, 07:31

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

Проблема с прокладкой маршрута. Серверная винда 2003.

Точки показывает, при прокладке маршрута пишет ошибки.

 

Сведения об ошибке на веб-странице

 

Агент пользователя: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; Компания Финестра)

штамп времени: Thu, 4 Oct 2012 04:25:47 UTC

 

 

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

Строка: 60

Символ: 1

Код: 0

URI-код: file:///C:/Documents%20and%20Settings/KochnevAA/Рабочий%20стол/Untitled-3.html

 

 

Сообщение: Graphics.Factory.Create: null: line - не известный примитив

Строка: 1

Символ: 712630

Код: 0

URI-код: http://api-maps.yandex.ru/2.0.17/release/combine.xml?modules=dPgJgWdJfcdLdBf6lKnelSlPlXlJfnfhjZjYgafPiiihikiFedmSmRkAkBkxkbjKimismpiGiHfkkaiwirflmqmwmsixdHhaefeUjEjDjHjFjGjcjbjejdjnjjjmjljki4i0i3i1i2jai5i9i8i6fKfIfFjQfJmPmLmQmKmOmMexeMepk4k2gVdOnkkLgrhFfdnGl3l5l2l4fbeEh4h3h5nElOm9m7m5owoxovoRozoJn4oIoCd0lWf0e5nFnDlTlQlYnsnSnTeed4eielhihhhjehhfecekd7leeQlil1lfeRd9d6ejead3d8mxiMgpgmkddDkedKgCe8fge4gFiBiAiziEiCiDgonagHdCfNe2hzhygwe7eLhDfMjVeweAdQeNeyjWemjXmoijl9mmmil6mlmhifidmamnmjgiglebegerj0dMjUjSghgggkdGkte9kwfVkvgjgfeHkrdEj1jqjyoaocjJipiviyfffrfigMfShEhQjIiIilmriLjNiqmvjMiJioiumujLiKinitmtd1dWdYlgkCeVeTj2fDjifEjgjfjhgKmAmBmzdRdTdSi7jOdFkcjTgQf7eCeGgPgOjCjRfHmNhLngkZkMhwiceqhRhvlLnOnLnKnMnNnInHnBnAnCgzm8m6m4oToSoYoZpcpdpbo0o1o3o2pnpfpepgpqproXplpapmoEn3oUoDcrgLlVfogNnJlUn0otosoun1n2lRnRnrj3kgkffsftfugGk7f8gBenh6h7h8h9hYh0hWibh2iahXhbhgevd5hdhcljeWeDl0gyfxfyhUfqfUhPhxfXhVgqesgtkVe6fefmkUk0kXeBe3gIfOfQoLoMogoiohmTmUoKn5mfmdl7n9memkn8n7l8mggdkokqkpkskyfakzfYf1fTf2fWj4j5kij8dNkhhthIhnmYjwfZhujoodmFobmChKjvjujtmJmEjsmHhJjrmGeFdXdZd2nlnonmnpnnnqkDiWgndVg3jPf3fLezeJltlvlMe0geoGoFoHhBlplmdjcaczb0c7apdIaxa9e1pobxcncyoBcXadaIbrcvbGnXnPnQfAoloQnunyoqoropnxnvoonwntnzhSlBfpk6gugseYeXlZgEhZh1helkhpiTiOhTeZfwhAePfjiNk1kWkYeIetiembn6igiUkufRmVj7hOhGfBhshrjxjAmImDg5jBjpiRfzdUgZj6fGgxlwlylulqlNoVo4o5o6o7lollaBaMdidAcIbacFdmbjcQcOaDb6cua1cqppa2bYcAc8bQaGchcgnYfvonojdhbTaQbWdzccavokaXb5b2ndf4klkmnhnihoiZg7mcfClraecLarcEbEpjphpipko8o9cBbvbebydxaccCcMa6cbbIahdwcNcDblbScJc0cGdlaudeduakaAoPomb9asb4eOeum3kjhkgUlzm1mycsdqbAaNbUcYcZbRamcHbCa8bZhCc6clcfdncxaiaybnaUcWaaaP&jsonp_prefix=ymaps2_0_17

 

 

Сообщение: Graphics.Factory.Create: null: line - не известный примитив

Строка: 1

Символ: 712630

Код: 0

URI-код: http://api-maps.yandex.ru/2.0.17/release/combine.xml?modules=dPgJgWdJfcdLdBf6lKnelSlPlXlJfnfhjZjYgafPiiihikiFedmSmRkAkBkxkbjKimismpiGiHfkkaiwirflmqmwmsixdHhaefeUjEjDjHjFjGjcjbjejdjnjjjmjljki4i0i3i1i2jai5i9i8i6fKfIfFjQfJmPmLmQmKmOmMexeMepk4k2gVdOnkkLgrhFfdnGl3l5l2l4fbeEh4h3h5nElOm9m7m5owoxovoRozoJn4oIoCd0lWf0e5nFnDlTlQlYnsnSnTeed4eielhihhhjehhfecekd7leeQlil1lfeRd9d6ejead3d8mxiMgpgmkddDkedKgCe8fge4gFiBiAiziEiCiDgonagHdCfNe2hzhygwe7eLhDfMjVeweAdQeNeyjWemjXmoijl9mmmil6mlmhifidmamnmjgiglebegerj0dMjUjSghgggkdGkte9kwfVkvgjgfeHkrdEj1jqjyoaocjJipiviyfffrfigMfShEhQjIiIilmriLjNiqmvjMiJioiumujLiKinitmtd1dWdYlgkCeVeTj2fDjifEjgjfjhgKmAmBmzdRdTdSi7jOdFkcjTgQf7eCeGgPgOjCjRfHmNhLngkZkMhwiceqhRhvlLnOnLnKnMnNnInHnBnAnCgzm8m6m4oToSoYoZpcpdpbo0o1o3o2pnpfpepgpqproXplpapmoEn3oUoDcrgLlVfogNnJlUn0otosoun1n2lRnRnrj3kgkffsftfugGk7f8gBenh6h7h8h9hYh0hWibh2iahXhbhgevd5hdhcljeWeDl0gyfxfyhUfqfUhPhxfXhVgqesgtkVe6fefmkUk0kXeBe3gIfOfQoLoMogoiohmTmUoKn5mfmdl7n9memkn8n7l8mggdkokqkpkskyfakzfYf1fTf2fWj4j5kij8dNkhhthIhnmYjwfZhujoodmFobmChKjvjujtmJmEjsmHhJjrmGeFdXdZd2nlnonmnpnnnqkDiWgndVg3jPf3fLezeJltlvlMe0geoGoFoHhBlplmdjcaczb0c7apdIaxa9e1pobxcncyoBcXadaIbrcvbGnXnPnQfAoloQnunyoqoropnxnvoonwntnzhSlBfpk6gugseYeXlZgEhZh1helkhpiTiOhTeZfwhAePfjiNk1kWkYeIetiembn6igiUkufRmVj7hOhGfBhshrjxjAmImDg5jBjpiRfzdUgZj6fGgxlwlylulqlNoVo4o5o6o7lollaBaMdidAcIbacFdmbjcQcOaDb6cua1cqppa2bYcAc8bQaGchcgnYfvonojdhbTaQbWdzccavokaXb5b2ndf4klkmnhnihoiZg7mcfClraecLarcEbEpjphpipko8o9cBbvbebydxaccCcMa6cbbIahdwcNcDblbScJc0cGdlaudeduakaAoPomb9asb4eOeum3kjhkgUlzm1mycsdqbAaNbUcYcZbRamcHbCa8bZhCc6clcfdncxaiaybnaUcWaaaP&jsonp_prefix=ymaps2_0_17

 

 

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

Строка: 1

Символ: 1

Код: 0

URI-код: http://api-maps.yandex.ru/services/coverage/1.0/coverage.xml?l=pmap&ll=87.69571000,53.72136865&z=12&lang=ru_RU&callback=jsonp_yandex_coverage__l_pmap_ll_87_69571000_53_72136865_z_12_lang_ru_RU

 

 

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

Строка: 60

Символ: 1

Код: 0

URI-код: file:///C:/Documents%20and%20Settings/KochnevAA/Рабочий%20стол/Untitled-3.html

 

На серверной винде 2008 R2 работает. 

Помогите плиз, очень надо!

 

 

 

<html xmlns="http://www.w3.org/1999/xhtml">

<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>

<meta http-equiv='X-UA-Compatible' content='IE=7'>

 

<body>

 

<p><input type="button" value="Добавить на карту" id="addMarker"/>

<input type="button" value="Проложить маршурт" id="addMarkerRoute"/>

<input type="button" value="Удалить все метки" id="deleteMarker"/></p>

</body>

<style>

body, html {

    height: 100%;

}

.ymaps-image-with-content-content{

 z-index: 9999;

}

</style>

 

 

<script type="text/javascript" src="http://api-maps.yandex.ru/2.0/?coordorder=longlat&load=package.full&wizard=constructor&lang=ru-RU&onload=fid_1348033430528824210974"></script>

<script src="http://yandex.st/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>

<div id="ymaps-map-id_1348033430528824210974" style="width: auto; height: 750px;"></div>

 

<div style="width: auto; text-align: right;"><a href="http://n.maps.yandex.ru/" target="_blank" style="color: #1A3DC1; font: 13px Arial,Helvetica,sans-serif;">.</a></div>

<script type="text/javascript">

var totaltime = 0; 

var totalLength = 0; 

var arrowtotal= '';

var pathLengthtime= '';

var touch= 0;

var myRoute;

function fid_1348033430528824210974(ymaps) {

var map = new ymaps.Map("ymaps-map-id_1348033430528824210974", {center: [87.155205, 53.786502], zoom: 12, behaviors: ["default", "scrollZoom"], type: "yandex#publicMap"});

var  cluster = new ymaps.Clusterer();

 

map.controls.add('searchControl').add("zoomControl").add("mapTools");

 

 // Создаем кластеризатор

              

function addMarkers () {

var placemarks = [];

placemarks[0]=new ymaps.Placemark([87.314548,53.749519], {balloonContent: "12090019 <br/>Лидия Александровна<br/>654103, Кемеровская обл, Новокузнецк г, Притомский пос., Капитальная ул",icontext: "12090019", iconContent: "12090019"}, {preset: "twirl#blueStretchyIcon"});

placemarks[1]=new ymaps.Placemark([87.155205,53.786502], {hintContent: 'Выберите точку и нажмите правой кнопкой мыши', balloonContent: "12080809 <br/>Никогосян Нораир Воротович<br/>654000, Кемеровская обл, Новокузнецк г, Атаманово, Крайняя",icontext: "12080809", iconContent: "12080809"}, {draggable: true,preset: "twirl#redStretchyIcon"});

placemarks[2]=new ymaps.Placemark([88.170696,53.685801], {balloonContent: "12080626 <br/>Ирина Владимировна<br/>652870, Кемеровская обл, Междуреченск г, Междуреченск, Камышовая ул",icontext: "12080626", iconContent: "12080626"}, {preset: "twirl#blueStretchyIcon"});

placemarks[3]=new ymaps.Placemark([88.095103,53.693357], {balloonContent: "12090933 <br/>Офис<br/>652870, Кемеровская обл, Междуреченск г, Междуреченск, Коммунистический пр-кт",icontext: "12090933", iconContent: "12090933"}, {preset: "twirl#blueStretchyIcon"});

placemarks[4]=new ymaps.Placemark([88.096298,53.689699], {balloonContent: "12092800 <br/>Домовой<br/>652880, Кемеровская обл, Междуреченск г, Междуреченск, Лазо ул",icontext: "12092800", iconContent: "12092800"}, {preset: "twirl#blueStretchyIcon"});

 

cluster.options.set({

                            gridSize: 5

                        });

 

                     // Добавлеяем массив меток в кластер

                    cluster.add(placemarks);

 //alert('до');                  

   // Добавляем кластер на карту.

                    map.geoObjects.add(cluster);

//alert('после');

 

map.geoObjects.getGeoObjects().each(function (myPlacemark){

myPlacemark.events.add("contextmenu",

   function(e) {

touch =1;

arrowtotal =''+myPlacemark.properties.get('iconContent')+'|';

});

 

myPlacemark.events.add("click",

   function(e) {

});

myPlacemark.events.add("dragend",

   function(e) {

arrowtotal +=myPlacemark.properties.get('iconContent')+'|'+e.get('target').geometry.getCoordinates();

});

});

};

 

                        

 

function addMarkerRoute () {

 

ymaps.route([[87.314548,53.749519],[87.155205,53.786502],[88.170696,53.685801],[88.095103,53.693357],[88.096298,53.689699]

            ], {

                // Опции маршрутизатора

                mapStateAutoApply: true // автоматически позиционировать карту

            }).then(function (route) {

                map.geoObjects.add(myRoute =route);

                moveList='маршурт </br>';

// Получаем первый маршрут 

           var kol =0;

                   route.getPaths().each(function (path){ 

kol=kol+1;

                      // Маршрут состоит из сегментов. Сегмент - участок маршрута, который нужно проехать

                      // до следующего изменения направления движения.

                      segments = path.getSegments(),

                      moveList += 'Трогаемся.</br>';

var  Length=0;  Time=0;

                  for (var i = 0; i < segments.length; i++) {

                      var street = segments[i].getStreet();

                      moveList += ('Едем ' + segments[i].getHumanAction() + (street ? ' на ' + street : '') + ', проезжаем ' + segments[i].getLength()/1000 + ' км.,'+segments[i].getTime()/60+' мин. ');

                      moveList += '</br>';

totaltime=totaltime+segments[i].getTime();

totalLength=totalLength+segments[i].getLength()/1000;

Length=Length+segments[i].getLength()/1000;

Time=Time+segments[i].getTime();

               }

                  moveList += 'Останавливаемся.</br>';

pathLengthtime +=''+kol+','+Length+','+Time+',';

Length=0; Time=0;

 });

 

moveList += totaltime+'</br>';

                  // Выводим маршрутный лист

                  $('#list').append(moveList);

 

 

            }, function (error) {

               // alert("Возникла ошибка: " + error.message);

            });

}

 

// Удаление всех меток с карты

            function deleteMarker () {

                // Удаляем все  метки из кластера

                cluster.removeAll();

                // Удаляем кластер с карты

                map.geoObjects.remove(cluster);

 map.geoObjects.remove(myRoute);

            }

 

$('#addMarker').bind('click', addMarkers);

$('#addMarkerRoute').bind('click', addMarkerRoute);

$('#deleteMarker').bind('click', deleteMarker);

};

 

 

 

</script>

 

 

</html>

 

8 комментариев
точка внутри круга
spb.pavlov
4 октября 2012, 09:53

некорректно работает geometry.contains для круга, в примере точка не лежит внутри круга но все равно возвращается true, в чем может быть причина?

 

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Примеры. Добавление меток на карту.</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script src="http://api-maps.yandex.ru/2.0.17/?load=package.full&lang=ru-RU"
            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
                }),
            myPlacemark = new ymaps.Placemark([55.8, 37.6]);
            myMap.geoObjects.add(myPlacemark);
            myCircle = new ymaps.Circle([
                    [55.76, 37.60],
                    1500
                ]);
            myMap.geoObjects.add(myCircle);
fff = myCircle.geometry.contains([55.8, 37.6]);
alert(fff);
        }
    </script>
</head>
<body>
<div id="map" style="width:600px; height:300px"></div>
</body>
</html>

 

10 комментариев
API 2.0
Новые карты и решения
tekunova
4 октября 2012, 14:19
Новые карты и решения

Москва никогда не будет прежней. Сегодня на Яндекс.Картах крупное обновление Москвы и Московской области. Сразу хотим обратить внимание на новый дизайн карт столицы. Его детали, основные изменения и улучшения прокомментирует отдельным постом Андрей Кармацкий, который руководит службой дизайна геоинформационных сервисов.

Также на Яндекс.Картах появились схемы двух новых крупных городов России. Это Благовещенск, столица Амурской области, и Орск, второй по численности город в Оренбургской области.

Если говорить в цифрах, то новые карты - это 35 000 строений, 25 000 адресов и 2000 километров дорог.

Теперь жители Благовещенска и Орска и гости этих городов могут легко найти нужную улицу или дом на Картах, а заодно посмотреть, какие организации находятся поблизости. Или наоборот, найти на карте, скажем, аптеку и посмотреть, как до нее добраться.



Обновления карт сделаны непосредственно в Яндексе, и наши картографы разместили на них самую полную и актуальную информацию, значительно ее дополнив. Например, в Поволжье вместе с обновленными Чебоксарами подробную карту получил соседний Новочебоксарск, а вместе с Саранском - Рузаевка. Качественно обновились Оренбург и Арзамас. На юге России обновления коснулись ГеленджикаАнапыАстрахани. На Дальнем Востоке обновился Владивосток, а в СЗФО - Сыктывкар и Великий Новгород.

Новые карты и обновления доступны в мобильном приложении Яндекс.Карт.

Команда Яндекс.Карт

Нет комментариев
версионирование