Клуб API Карт

июнь 2010
Показать балун для объекта в активной области
Сергей У.
1 июня 2010, 10:36

Существует карта с остановками транспорта, созданная с использованием активных областей – http://www.map.cek.ru/nizhny-novgorod-on-yandex-map-with-bus-stops.html

Хочу организовать поиск по остановкам. Как его реализовать мне понятно.

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

3 комментария
активные области,модули,балун
Слой активных областей
Кирилл Яковлев
1 июня 2010, 20:43

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

вот ответ сервера

http://pastie.org/987146

а вот так я добавляю слой активных областей

http://pastie.org/987148

система координат обычная декартовая

и еще один момент, на мой взгляд производиться слишком много запросов на сервер, во многих случаях одних и тех же.. это можно контролировать?

3 комментария
активные области,API 1.x
Загрузка объектов на карту с помощью YMapsML
Карты
1 июня 2010, 21:10

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

API Яндекс.Карт предлагает альтернативное простое решение для добавления объектов на карту – использование YMapsML. Необходимо только добавить YMapsML-файл на карту с помощью встроенных инструментов и объекты, в нем описанные, отобразятся на карте автоматически.

YMapsML позволяет не только описывать геообъекты, но и задавать их внешний вид с помощью стилей и шаблонов. Это позволит в случае необходимости с легкостью перенести данные с одной карты на другую, например, на maps.yandex.ru.

Более подробную информацию по языку YMapsML можно найти в Руководстве разработчика, в котором подробно освещены тонкости при работе с этим языком, а также представлен ряд разобранных примеров, которые помогут быстрее перейти к практике.

Мы надеемся, что использования формата YMapsML облегчит вам решение некоторых задач, возникающих при работе с картами.

Загрузка объектов на карту с помощью YMapsML

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

API Яндекс.Карт предлагает альтернативное простое решение для добавления объектов на карту – использование YMapsML. Необходимо только добавить YMapsML-файл на карту с помощью встроенных инструментов и объекты, в нем описанные, отобразятся на карте автоматически.

YMapsML позволяет не только описывать геообъекты, но и задавать их внешний вид с помощью стилей и шаблонов. Это позволит в случае необходимости с легкостью перенести данные с одной карты на другую, например, на maps.yandex.ru.

Более подробную информацию по языку YMapsML можно найти в Руководстве разработчика, в котором подробно освещены тонкости при работе с этим языком, а также представлен ряд разобранных примеров, которые помогут быстрее перейти к практике.

Мы надеемся, что использования формата YMapsML облегчит вам решение некоторых задач, возникающих при работе с картами.

Нет комментариев
API 1.x
Загрузка объектов на карте с помощью YMapsML
rodlex
1 июня 2010, 21:13
Загрузка объектов на карту с помощью YMapsML

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

API Яндекс.Карт предлагает альтернативное простое решение для добавления объектов на карту – использование YMapsML. Необходимо только добавить YMapsML-файл на карту с помощью встроенных инструментов и объекты, в нем описанные, отобразятся на карте автоматически.

YMapsML позволяет не только описывать геообъекты, но и задавать их внешний вид с помощью стилей и шаблонов. Это позволит в случае необходимости с легкостью перенести данные с одной карты на другую, например, на maps.yandex.ru.

Более подробную информацию по языку YMapsML можно найти в Руководстве разработчика, в котором подробно освещены тонкости при работе с этим языком, а также представлен ряд разобранных примеров, которые помогут быстрее перейти к практике.

Мы надеемся, что использования формата YMapsML облегчит вам решение некоторых задач, возникающих при работе с картами.

Нет комментариев
анонсы
размер placemark
Дмитрий Х.
2 июня 2010, 05:52

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

создаю карту на скрытом div (табы - неактивная вкладка), добавляю placemark

при первой активации таба (показе дива) - делаю map.redraw(); и map.setBounds(bounds);

отображение карты, положение центра карты и масштаб - в поряде, однако placemark получается сжатый (после открытия и закрытия балуна - опять нормальный)

как сделать placemark изначально нормального размера??

 

увидеть то, о чем идет речь, можно здесь

 

2 комментария
метка
Загрузка координат меток из файла
FomichevaMarina
3 июня 2010, 04:56

Здравствуйте! Помогите, пожалуйста: координаты моих меток хранятся в текстовом файле. Мне нужно, чтобы при нажатии определенной кнопки они заполняли карту! Я делаю так, но браузер отказывается обрабатывать, виснет  Подскажите, как правильней это сделать!

<script type="text/javascript">
  var map, placemark, pl;
  YMaps.jQuery(function () {
  map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);
  map.setCenter(new YMaps.GeoPoint(37.606,55.754),14);
   map.addControl(new YMaps.ToolBar());
  map.addControl(new YMaps.TypeControl());
  var toolbar = new YMaps.ToolBar();
  var button = new YMaps.ToolBarButton({
  caption: "Показать метки",
  hint: "Показывает метки, удовлетворяющие результатам выборки",
  selected: false
  });
  YMaps.Events.observe(button, button.Events.Click, function() {
  for (var i = 0; i < listArray.length-1; i+2)

{
  group.add(createPlacemark(new YMaps.GeoPoint(listArray[i+1], listArray[i])));
 }

map.addOverlay(group);  }, map);
toolbar.add(button);
map.addControl(toolbar);
   
  });
   
var group = new YMaps.GeoObjectCollection();
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.OpenTextFile("C:\\Documents and Settings\\Владик\\Рабочий стол\\Заготовка\\Main\\WindowsApplication1\\bin\\Debug\\test.txt", 1, false);
  var s = "";
  while (!f.AtEndOfStream)
  s += f.ReadLine();
  f.Close();
  var listArray = s.split(" ");
   
// function GetCoord(){
// for (var i = 0; i < listArray.length-1; i+2) {
// group.add(createPlacemark(new YMaps.GeoPoint(listArray[i+1], listArray[i])));
// }
// map.addOverlay(group);
// }
   
  function createPlacemark (geoPoint) {
  var placemark = new YMaps.Placemark(geoPoint);
  return placemark;
  }  

  </script>

1 комментарий
метка
Как к активным областям подключать события?
Кирилл Яковлев
3 июня 2010, 10:44

Причем желательно сразу ко всем областям слоя активных областей.

1 комментарий
API 1.x,активные области,события,модули
Получение названия станции метро
margalencia
3 июня 2010, 12:18

Добрый день,

задача - связать адреса в базе со станцией метро:

 

addr - текст строки адреса

var geocoder = new YMaps.Geocoder(addr, {results: 1}); // получение геокода адреса

YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {

 

   if (this.length())

     YMaps.Metro.Closest(this.get(0).getGeoPoint().toString(), { results : 3 } )

     YMaps.Events.observe(metro, metro.Events.Load, function (metro) {

          if (metro.length()) {

Вопрос в том, как здесь получить названия найденных станции, для отправки их на сервер (поле text класса YMaps.Metro.Station)?

          }

      }

   }

}

Заранее спасибо.

4 комментария
API 1.x,модули
Вопрос к знатокам!!
Башкин Игорь Александрович
3 июня 2010, 12:42

На карту выгружаю значки из ХМЛ файла.

В нем шаблон

 <Template gml:id="balloonTemplate">
       <text>
         <![CDATA[
           <div style="font-size:12px;">
             <div style="color:#038003;font-weight:bold">Сроки: <font color=#FF8003>$[name]</font></div>
             <div>$[metaDataProperty.AnyMetaData.srk]</div>
             <div><font color=#038003>Организация:</font> $[metaDataProperty.AnyMetaData.org]</div>
              <div><font color=#038003>Адрес:</font>$[metaDataProperty.AnyMetaData.adr]</div>
              <a href="allinfo.php?id=$[id]"  rel="gb_page_center[640, 480]">Подробная информация.</a>
          </div>
         ]]>
       </text>
     </Template>

!!!!!!!!rel="gb_page_center[640, 480]"!!!!!!!!!!!!

Эта штука открывает страницу в компоненте типа lightbox , (graybox называется) так вот ссылки который получаются в баллуне, открываются просто в новой странице, а хотелось бы в компоненте, КУДА он пропадает?????

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

Заранее благодарен.

7 комментариев
Lightbox,шаблоны,API 1.x,YMapsML
Использование модуля Регионы.
Janklyn
3 июня 2010, 13:20

Подскажите пожалуйста. Мне необходимо при установке балуна

 placemark.setGeoPoint(geoResult.getGeoPoint());

 placemark.openBalloon();

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

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

 

3 комментария
регионы,точка внутри области,модули
Расширяемый Balloon
Amigo-Sherman
3 июня 2010, 14:07

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

Сначала пытался использовать $('.balloonClass').bind('click',function(){ %здесь код по раскрытию и сворачиванию дива% }); код по неведомым мною причинам не отображался, потом пытался реализовать эту задачу напрямую навесив onclick на анкер внутри балуна, но тоже без результатно.

Так вот непосредственно вопрос: данную задачу можно реализовать средствами JS или это реализовывается только через Yandex map API?

 

5 комментариев
API 1.x,балун,макеты
Центрирование по объекту.
Amigo-Sherman
3 июня 2010, 15:00

В проекте над которым работаю зародился ещё один вопрос при работе с картой. Вопрос состоит в следующем: у нас на карте есть объект (пусть это будит PolyLine) и нужно по этому объекту определить как нужно центрировать и масштабировать карту, то есть что бы объект оказался посредине карты, и сама карта центрировалась так что бы весь объект помещался.

1 комментарий
область видимости
требуется разработчик странички сайта владеющий API яндекс.карты
khabitsov
3 июня 2010, 15:20

Есть служба доставки пиццы в подмосковье со своим сайтом. Есть идея разместить на страничке заказа карту, где человек мог бы в спутниковом режиме карты найти и "ткнуть" на свой дом и в бланке заказа сохранялись бы его gps координаты. Доставщик забивает координаты в свой gps и доставляет не теряя время на поиски дома.  Понимаю, что выглядит заморочено, но застройка в районе стихийная, ни улиц, ни номеров у домов... так что плиз пишите: khabitsov@mail.ru

Нет комментариев
API 1.x
Как получить API ключ для внутреннего сайта?
jfd1111
4 июня 2010, 17:48

Есть внутренний сайт, работающий во внутренней сети, как получить API ключ на Яндекс.Карты?

1 комментарий
API 1.x
Как определить добавлен оверлей на карту или нет?
Евгений
6 июня 2010, 13:30

Я не смог найти в описании API метода, который бы возвращал состояние оверлей на карте (добавлен или нет, другими словами виден или нет).

Конкретно мне надо знать какая метка уже есть на карте (имеено добавлена на карту) и необрабатывать её. Так как массовое добавление меток на карту (более 100) приводит к "подвисанию" браузера на 1-2 секунды, пока метки добавляются в DOM карты.

5 комментариев
метка
Добавление поля к скрипту "Определение карт Яндекса"
dev0n
6 июня 2010, 21:21

У себя на сайте пользуюся немного измененным скриптом "Определение координат Яндекса" http://api.yandex.ru/maps/tools/getlonglat/

В правом верхнем углу у него находится три поля:

Координаты метки:
Масштаб карты
Центр карты:
Для описания карты мне нехватает поля: Тип карты

 

Можно ли приделать такое поле, так чтобы в нем прописывался тип текущей карты, вида: MAP, SATELLITE или HYBRID?
3 комментария
тип карты,API 1.x
Балун
McKirk
6 июня 2010, 23:10

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

Заранее спасибо за ответ.

1 комментарий
метка,балун
Как программно нажать кнопку
ovvk-info
7 июня 2010, 12:24

Добрый день.

В этой теме - был подобный вопрос, но ответ был для DEFAULT_GROUP и на моем коде не сработал.

 

 

 

 

//Добавление тулбара пустого пока без кнопок
var toolBar = new YMaps.ToolBar([]);

//Добавление кнопки "Линейка"
var buttonRul = new YMaps.ToolBarToggleButton({
icon: "http://api-maps.yandex.ru/i/0.3/icons/icon-ruler.png",
hint: "Измерение расстояний по карте "
});

// Включает линейку, когда кнопка активна
YMaps.Events.observe(buttonRul, buttonRul.Events.Select, function () {
this.getToolBar().getMap().enableRuler();
});

// Выключает линейку, когда кнопка неактивна
YMaps.Events.observe(buttonRul, buttonRul.Events.Deselect, function () {
this.getToolBar().getMap().disableRuler();
});

toolBar.add(buttonRul);

// Добавляем кнопку "Зоны влажности"
var buttonZone = new YMaps.ToolBarToggleButton({
caption: "Влажность",
hint: "Показать/скрыть зоны влажности"
});

// Добавление кнопки "Зоны влажности" на панель инструментов
toolBar.add(buttonZone);

// Добавляем кнопку "Климат"
var buttonClimat = new YMaps.ToolBarToggleButton({
caption: "Климат",
hint: "Показать/скрыть климатические данные"
});

// Если кнопка "Климат" активна, добавлям данные по климату
YMaps.Events.observe(buttonClimat, buttonClimat.Events.Select, function () {
map.addOverlay(ml);
});

// Если кнопка "Климат" неактивна, то удаляем данные по климату
YMaps.Events.observe(buttonClimat, buttonClimat.Events.Deselect, function () {
map.removeOverlay(ml);
});

// Добавление кнопки "Климат" на панель инструментов
toolBar.add(buttonClimat);

// Добавление панели инструментов на карту
map.addControl(toolBar);

 

 

Вопрос такой - как программно нажать на кнопку "Климат" buttonClimat.

Перепробовал несколько вариантов, но не помогло:

map.buttonClimat.Select;
toolBar.getByGroupId("toolBar")[0].select();
toolBar.getByGroupId(YMaps.ToolBar.DEFAULT_GROUP)[2].select();
3 комментария
элементы управления,панель инструментов,API 1.x
Номер для метки
cycler
7 июня 2010, 13:16

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

Если эти метки я добавляю через YMapsML - файл.

 

Подскажите. плиз, киньте ссылку.

2 комментария
метка,шаблоны,YMapsML
Возможность добавления множестов оверлеев, без снижения производительности
Sinanno
7 июня 2010, 14:50

Здравствуйте! Помню недавно читал тему про оверлее, которые можно выводить хоть тысячи и при етом карта так же быстро будет передвигаться\масштабироваться и т.д. Были статьи, но сейчас не могу их найти, много чего перерыл но всё равно не нашел. Можно ли как то получить ссылочку?

2 комментария
активные области,API 1.x,модули