Здравствуйте! Я геокодирою массив адресов points и вывожу на карту метки с соответствующими подписями. Возникла такая проблема: периодически содержимое подписи не соответствует геометке на карте.
var points = ["ул.Предславинская, 19, Киев","пр-т Победы, 65,
Киев","ул.Б.Хмельницкого, 41, Киев","ул.Фрунзе, 104-А, Киев"];
var names = ["ПЕЧЕРСКИЙ ФИЛИАЛ","ФИЛИАЛ РАСЧЕТНЫЙ
ЦЕНТР","КИЕВСКОЕ ГЛАВНОЕ РЕГИОНАЛЬНОЕ УПРАВЛЕНИЕ","Центральное отделение
ФИЛИАЛА КИЕВСИТИ"];
YMaps.jQuery(function () {
var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);
for (var i = 0, l = points.length; i < l; i++) {
var geocoder = new YMaps.Geocoder(points[i]);
var pos = 0;
YMaps.Events.observe(geocoder, geocoder.Events.Load,
function (geocoder) {
if (geocoder.length()) {
var placemark = new YMaps.Placemark(geocoder.get(0).getGeoPoint());
placemark.name = names[pos];
placemark.description = points[pos];
map.addOverlay(placemark);
map.setBounds(geocoder.get(0).getBounds());
map.setZoom(10);
pos++;
}
});
}
map.addControl(new YMaps.Zoom());
});
Подскажите пожалуйста решение проблемы, заранее благодарен.
Доброго времени суток!
Есть желание реализовать следующий платный сервис. Поступает звонок от клиента, мы определяем местоположение звонящего (необязательно через GPS), и оказываем ему услугу типа поиск ближайшей гостинницы/ресторана и описания пути прохождения до этого объекта. Имеем ли мы право использовать API Яндекс.Карт?
Спасибо.
если организовывать длительную сессию без перезагрузки страницы,с динамической загрузкой данных, как чистить память?
P.S. Просьба тем, кто не имеет отношение к флешу - не голосовать. Спасибо.
P.P.S. Вот, что сделал Google для Flash
1) http://code.google.com/in
2) https://docs.google.com/p
Есть ли возможность обработки YMapsML на php? Как допустим для xml? Дело в том, что мне нужно получить на пхп координаты точек для многих объектов в массиве. В ответ от геокодера я получаю YMapsML - могу ли я его парсить как xml? Или мне нужно записывать ответ в текстовый файл?
Ести ли примера геокодинга на пхп?
Привет всем!
Подскажите плз, возможен ли просмотр улиц на пользовательских яндекс картах?
Всем привет,
в балуне я использую HTML текст, среди прочего в нем есть ссылка, при клике на которой балун должен закрыться. Как это сделать из JavaScript'а ?
Привет! Разместила карту на сайте. Всё было ОК! Решила переделать страницу и заменила ссылку на карту, заново, сделав её на странице Яндекса. Теперь код для вставки только в одно место вставляется? - раньше надо было ещё в head вставлять. Карта отображается, но при нажатии на точку нет подписи, окошечко есть, а подписи нет, тоже и слинией "прохода к точке". Окошечко появляется, а подписи нет. Посмотрела во всех браузерах, везде одинаково. Подскажите, плиз, что не так сделала. Спасибо. Юлиана.
Подскажите пожалуста способ добавить на карту пробки. Существует ли готовое API, где можно с ним ознакомиться.
Есть следующий код.
так как пока еще не успел разобраться в апи составил из примеров в документации.
YMaps.jQuery(function () {
var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]),
destinations = {
'Офис 1' : new YMaps.GeoPoint(30.343851, 59.928005),
'Офис 2' : new YMaps.GeoPoint(30.327654, 59.934758),
'Офис 3' : new YMaps.GeoPoint(30.314341, 59.867466),
};
var placemark = new YMaps.Placemark(new YMaps.GeoPoint(30.343851, 59.928005));
placemark.name = "<div align='center'>Офис 1</div>";
placemark.description = "<b>адрес:</b><br>ул.Рубинштейна дом 34";
map.addOverlay(placemark);
var placemark = new YMaps.Placemark(new YMaps.GeoPoint(30.327654, 59.934758));
placemark.name = "<div align='center'>Офис 2</div>";
placemark.description = "<b>адрес:</b><br>Невский проспект дом 29";
map.addOverlay(placemark);
var placemark = new YMaps.Placemark(new YMaps.GeoPoint(30.314341, 59.867466));
placemark.name = "<div align='center'>Офис 3</div>";
placemark.description = "<b>адрес:</b><br>площадь Чернышевского дом 10";
map.addOverlay(placemark);
map.setCenter(new YMaps.GeoPoint(30.343851, 59.928005), 14); //центрируем карту не на точке
map.addControl(new YMaps.ToolBar()); // увеличение, линейка, рука
map.addControl(new YMaps.Zoom());//зум
var menuContainer = YMaps.jQuery('#mapMenu');
// Генерирование меню
for (var item in destinations) {
// Используем замыкание, чтобы работать с конкретным свойством объекта
(function (title, geoPoint) {
// Создаем ссылку, обернутую в тег <p> для более приятного визуального восприятия
YMaps.jQuery("<li><a href=\"#\">" + item + "</'a></li>")
.find('a')
// Создаем обработчик по щелчку на ссылке
.bind('click', function () {
// Подчеркиваем все ссылки
menuContainer.find('a').css('text-decoration', 'underline');
// Кроме той, на которую щелкнули
YMaps.jQuery(this).css('text-decoration', 'none');
// Перемещаем карту
map.panTo(geoPoint, {flying: 1});
return false;
})
.end()
// Записываем элемент списка в список
.appendTo(menuContainer);
})(item, destinations[item])
}
});
1. Как исправить описание каждого пункта destinations так что бы уже в нем указать содержание балуна, а не указывать отдельно ниже по коду как у меня.
2. И еще поправить код так что бы при клике на ссылку, карта не только перемещалась в указанную точку, но и открывался балун принадлежащей это точке.
Спасибо заранее!
Доброй ночи, уважаемые гуру !
Вот каким вопросом я задался:
Есть много-много точек для показа на карте.
- как при открытии карты подгрузить и показать только те, что находятся в видимой зоне ?
я так понимаю, что надо сюда передать параметры с координатами
var ml = new YMaps.YMapsML( 'http://страница_с_метками?map1=...&map2=...' );
map.addOverlay(ml);
- но вот человек переместился по карте, и мне надо удалить старые метки и показать новые. Как ?
т.е. надо отловить событие перемещения и там что-то прописать.
- и последнее. Как при клике на метку показать html-контент с id этой метки ? Т.е. http://страница_с_контентом?id=...
Буду очень признателен.
Большое спасибо.
С уважением, Сергей.
На странице с некоторого момента балун вытянулся и хвостом проткнул часть карты, думал на старнице карту что-то перекрывает скопировал на другую страницу тоже самое. Раньше отображалось нормально. подскажите , что не так.
<script type="text/javascript"> // Создает обработчик события window.onLoad YMaps.jQuery(function () { // Создает экземпляр карты и привязывает его к созданному контейнеру var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]); // Устанавливает начальные параметры отображения карты: центр карты и коэффициент масштабирования map.setCenter(new YMaps.GeoPoint(37.556819,55.798743), 15); var placemark = new YMaps.Placemark(new YMaps.GeoPoint(37.556819,55.798745)); placemark.name = "Салон штор"; placemark.description = "Золотая нить"; map.addOverlay(placemark); // Открываем балун placemark.openBalloon(); map.addControl(new YMaps.TypeControl()); map.addControl(new YMaps.ToolBar()); map.addControl(new YMaps.Zoom()); map.addControl(new YMaps.ScaleLine()); }) </script><div id="YMapsID" style="width:450px;height:350px; marging-left:10px;"></div> адрес страницы http://salon-shtory.ru/kaknasnaiti.htm
на страничке контактов в Опере и Хроме показывается только 1 карта, при этом в дебаггинге видна ошибка в скрипте _ymaps, хотел плотно потестить через FireBug, но как ни странно такой ошибки нет. И в FireFox все ок - работают все 3 карты.
И кстати, не нашел информации о текущих версиях API, есть возможность проверить код на старых версиях API?
Всем привет,
как это будет по-русски.... даже не знаю. В общем есть оверлей, в который добавлено несколько меток -
map.addOverlay(placemark);
Как масшабировать и центрировать карту так, чтобы на ней отображались все метки одновременно ? При этом масштаб должен быть, конечно, максимально возможным (иначе задача решается шкалой равной глобусу :)
Сообственно в заголовке темы вопрос... Подскажите плз...
Год назад получила ключ на www.mysite.net.ua, карты работают на этом домене. Но на домене mysite.net.ua карты не работают и выдается сообщение "неправильный ключ". Есть ли какое-то решение кроме редиректа дабы исправить положение дел с mysite.net.ua ? Заранее благодарна.
Привет. Пожалуйста, помогитерешить трабл. Спасибо.
в шапке
<script src="http://api-maps.yandex.ru
потом аяксом jQuery в вкладку подгружаю примерно след код:
<script type="text/javascript">
function map_init()
{ldelim}
$.yamap = new YMaps.Map( $("#YMapsID")[0] );
$.yamap.setCenter(new YMaps.GeoPoint({$town_lon
{rdelim}
YMaps.load(map_init);
</script>
<div id="YMapsID" style="height:600px"></div>
Интерфейс карты появляется, а вот тайлы (изображения карты) не грузятся даже если менять позицию.
Еще интересно, что карта просынается (загружаются все тайлы) если открыть Firebug.
1:00 ночи, не спится, хотел сказать спасибо разработчикам Яндекс.Карт, за их работу и сообщить, что проект Откуда и куда.ру, сделанный с использованием Яндекс.Карт, был награжден премией Собаки.ря в номинации "Оригинальный проект".
Ребята это и ваша заслуга, спасибо!
Здравствуйте, я столкнулся с такими вопросами, при попытке использовать
Обработчик, вызываемый при перетаскивании существующих вершин, а также при создании новых вершин, посредством перетаскивания промежуточных.
Принимает два аргумента: - массив всех видимых точек графической фигуры в пикселях карты, включающий в себя добавляемую/редактируемую точку; - индекс добавляемой/изменяемой точки в переданном массиве.
Возвращает откорректированную добавляемую/изменяемую точку в пикселях карты.
1. В описании очень смущает последняя строка. Я не представляю как можно использовать обработчик не определив его. Как в коде я могу воспользоваться тем что он возвращает?
На данный момент имеется такой код:
line = new YMaps.Polyline();
line.addPoint(map.getCenter());
map.addOverlay(line);
line.startEditing();
line.setEditingOptions({
onPointDragging: function(points,index){ }
});
2. При использовании на фаекфоксе в консоли фаербага появляются ошибки на каждое событие,
но при этом points и index генерирубтся и с ними можно работать. Не подскажите, с чем могут быть связанны эти ошибки?
3. Каким способом лучше решать такую задачу:
Есть редактируемая Полилиния, на некоторых точках стоят метки.
При перетаскивании точки с меткой, метка перетаскивается вместе с точкой (или по окончанию перетаскивания точки метка прыгает на новое место)
Заранее благодарен.