Клуб API Карт

апрель 2010
Как совместить геокодер (поиск по адресу) и созданные объекты (метки, линии и т.п.)?
garaji77
1 апреля 2010, 07:33

Как совместить геокодер (поиск по адресу) и созданные объекты (метки, линии и т.п.)?

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

2 комментария
API 1.x
Как добавить шкалу, отображающую текущий масштаб (в яндексе находится в правом нижнем уголу карты)?
garaji77
1 апреля 2010, 07:49

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

По данному вопросу ничего не нашел.... кроме самого яндекса такая шкала есть на сайте: http://www.yota.ru/ru/coverage/russia/ 

8 комментариев
API 1.x
Координаты у Гугла и Яндекса совпадают, но перепутаны
thekashey
1 апреля 2010, 10:38

А также разделением переходов и автомобилистов (на мобильных картах) занимаются парамедики.@eth00 


С первым апрелем клуб!

Нет комментариев
API 1.x
Прямая трансляция со стадиона "Спартак"... идет футбольный матч
Сергей Миронов
1 апреля 2010, 10:44

http://www.cheboksary.ws/#xy=0.2414282444495308,0.18452735179674984&z=6

...а кто играет?

что-то при увеличении игроки пропадают


с 1 апреля )

Нет комментариев
API 1.x
Версия карты для печати
ostrov127
1 апреля 2010, 11:40

Сделал карту проезда к офису, с элементами управления и прочее. А как сделать версию для печати этого же куска карты? Чтобы печаталась в выбранном пользователем масштабе, но без элементов управления.

1 комментарий
печать карты,API 1.x
Ошибка при подключении YMaps
supermegafax
1 апреля 2010, 13:36

Салям всем!


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

но файрбаг выдает такую ошибку

 

H.event.specialAll[ae].setup is undefined [Break on this error] YMaps.onLoad(YMaps.Module.CORE,functio...)};c=j(f.WayPoint,f.GeocoderResult)});


Никогда с подобным не сталкивался, в чем моя ошибка?

2 комментария
API 1.x
ответ геокодера
dmit-de
1 апреля 2010, 13:44

 Запрашиваем у геокодера Россия, Москва, улица Лесная , в ответ получаем "Россия, Московская область, Дзержинский, улица Лесная", а улицы которая есть Москве в ответе нет...


что не так? ранее на такие запросы геокодер отвечал корректно

1 комментарий
API 1.x
Маршрутизатор
photogorky
1 апреля 2010, 17:09

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

2 комментария
API 1.x
Возврат карты по Адресу на сайт
sh1971
1 апреля 2010, 18:44

Вопрос такой - нужно сделать, чтобы на сайте карта отображалась с адресом. Причем адрес задавать не координатами, а именно адресом, типа "ул. Ленина, 15".

 

Нужна автоматическая обработка, желательно как можно проще.

2 комментария
API 1.x,геокодирование
Не отображается карта
hobbytula
2 апреля 2010, 10:52

Не понимаю, почему так происходит, но в конструкторе создал карту, получил код, в теме на форуме вставляю код типа:

<!-- Этот блок кода нужно вставить в ту часть страницы, где вы хотите разместить карту  (начало) -->
<script src="http://api-maps.yandex.ru/1.1/?key=APVOHksBAAAAqAt0NAIA0VvbP11K-hZpGDZiFtxlQQfVr7sAAAAAAAAAAADB7pSisCAmayvBfn6Hkc_E4FqyIA==&wizard=constructor" type="text/javascript"></script>
<script type="text/javascript">
    YMaps.jQuery(function () {
        var map = new YMaps.Map(YMaps.jQuery("#YMapsID-4543")[0]);
        map.setCenter(new YMaps.GeoPoint(38.214029,53.973045), 14, YMaps.MapType.HYBRID);
        map.addControl(new YMaps.Zoom());
        map.addControl(new YMaps.ToolBar());
        map.addControl(new YMaps.TypeControl());

        YMaps.Styles.add("constructor#pmlbmPlacemark", {
            iconStyle : {
                href : "http://api-maps.yandex.ru/i/0.3/placemarks/pmlbm.png",
                size : new YMaps.Point(28,29),
                offset: new YMaps.Point(-8,-27)
            }
        });


        YMaps.Styles.add("constructor#FFB400c85Polyline", {
            lineStyle : {
                strokeColor : "FFB400c8",
                strokeWidth : 5
            }
        });
       map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(38.239876,54.00255), "constructor#pmlbmPlacemark", "Проезжаем пост ГИБДД"));
       map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(38.212879,53.994016), "constructor#pmlbmPlacemark", "На кольце держимся левее"));
       map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(38.206653,53.99074), "constructor#pmlbmPlacemark", "Поворот налево, в сторону Донского"));
       map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(38.230812,53.97856), "constructor#pmlbmPlacemark", "Сворачиваем направо, и если ведите вдалеке водонапорную башню, значит вы на правильном пути"));
       map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(38.223087,53.968806), "constructor#pmlbmPlacemark", "Сворачиваем за фермой на право, и вы увидите колею машин прямо на поле, едете по ней."));
       map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(38.218321,53.968047), "constructor#pmlbmPlacemark", "Удачных полётов"));
       map.addOverlay(createObject("Polyline", [new YMaps.GeoPoint(38.270709,54.01476),new YMaps.GeoPoint(38.264186,54.013041),new YMaps.GeoPoint(38.255603,54.009907),new YMaps.GeoPoint(38.240669,54.004042),new YMaps.GeoPoint(38.229394,54.000251),new YMaps.GeoPoint(38.219266,53.996509),new YMaps.GeoPoint(38.213086,53.993171),new YMaps.GeoPoint(38.207078,53.990338),new YMaps.GeoPoint(38.21211,53.98557),new YMaps.GeoPoint(38.215543,53.983445),new YMaps.GeoPoint(38.224126,53.98122),new YMaps.GeoPoint(38.232022,53.978893),new YMaps.GeoPoint(38.230134,53.976768),new YMaps.GeoPoint(38.227044,53.973327),new YMaps.GeoPoint(38.225156,53.970088),new YMaps.GeoPoint(38.223611,53.968283),new YMaps.GeoPoint(38.218289,53.967474)], "constructor#FFB400c85Polyline", "Вот как можно проехать на лётное поле \"Майский\""));
       
        function createObject (type, point, style, description) {
            var allowObjects = ["Placemark", "Polyline", "Polygon"],
                index = YMaps.jQuery.inArray( type, allowObjects),
                constructor = allowObjects[(index == -1) ? 0 : index];
                description = description || "";
           
            var object = new YMaps[constructor](point, {style: style, hasBalloon : !!description});
            object.description = description;
           
            return object;
        }
    });
</script>

<div id="YMapsID-4543" style="width:450px;height:350px"></div>
<div style="width:450px;text-align:right;font-family:Arial"><a href="http://api.yandex.ru/maps/tools/constructor/" style="color:#1A3DC1">Создано с помощью инструментов Яндекс.Карт</a></div>
<!-- Этот блок кода нужно вставить в ту часть страницы, где вы хотите разместить карту (конец) -->


И получается что снизу видна надпись "Создано с помощью инструментов Яндекс.Карт", но самой карты нет.


1 комментарий
API 1.x
Объединение ближайших точек
htmllancer
2 апреля 2010, 12:20

Доброго, всем. 

Кто нибудь делал подобную задачу. 

На карту выводятся маркеры изYML - соответственно их много и получается каша.

Есть ли механизм объединения перекрывающихся маркеров, которые при зуме будут "разделяться". 

Или подскажите хоть в какую сторону копать 

 

2 комментария
кластеризатор,коллекции
Получить список организаций
vesnyak
2 апреля 2010, 13:50

Всем привет. Я разрабатываю портал по недвижимости. Сейчас при просмотре объекта мы можем показать информацию о больницах, детских садах, клубах - в общем, об организациях - которые находятся в районе выбранного объекта. Например: http://realto.ru/base/flat_sale/one/?SecLodg_id=662857&SecLodg_step=1 Список объектов, находящихся неподалеку, нам возвращает Гугл, которым мы пользуемся в данный момент.

Вопрос: можно ли через Яндекс получить список организаций, находящихся рядом с конкретной точкой, чтобы отобразить их на карте?

5 комментариев
API 1.x,поиск организаций
Сохранение в кэше изображений, получаемых через Static API
vesnyak
2 апреля 2010, 14:17
У нас, помимо портала, есть еще риэлторская программа с базой объектов. Она ставится на компьютеры в агентства недвижимости и агенты ищут варианты для клиентов. Сейчас в программе можно нажать на кнопку "Посмотреть объект на карте" и попасть на наш портал, где расположена Яндекс-карта. Однако, риэлторы жалуются - их не устраивает необходимость в наличии постоянного соединения с интернетом. Мы хотим реализовать возможность из программы получить схему с помощью Static API, сохранить картинку в кэше на диске пользователя и при последующем обращении к этому объекту дать пользователю выбор: посмотреть схему из кэша, либо перейти на сайт к полнофункциональной карте. Эта схема частично решила бы проблемы риэлторов.

Вопрос: будет ли такая схема нарушать пользовательское соглашение?
7 комментариев
Static API,пользовательское соглашение,API 1.x
the download of the specified resource has failed (VBA, ADODB)
pablomedok
2 апреля 2010, 22:36

Добрый день,

я хочу воспользоваться API Яндекс.Карт через http в своей форме в Access для получения координат введенного адреса. Функция получает город и адрес и возвращает координаты. 

Половина запросов работает нормально, и все хорошо работает, возвращает xml-документ с координатами. Но другая половина дает следующую ошибку в момент открытия соединения: -2147217887 (80040e21)  The download of the specified resource has failed.

Код такой:

 

Public Function YandexCoord(City As Variant, address As Variant) As String

    Dim adoConn As ADODB.Connection
    Dim adoRS As ADODB.Recordset
    Dim yandurl As String
    
    Set adoConn = New ADODB.Connection
    Set adoRS = New ADODB.Recordset

    adoConn.Open "Provider=MSDAOSP; Data Source=MSXML2.DSOControl;"
   yandkey =  "AIubs0sBAAAAv9znOAQAjJv0OLU5VvqogJTzyUfsjXo8lloAAAAAAAAAAADIKqUffHTfOYiuar6iUlm07SbEcQ==" 
           & IIf(City & "" <> "", ",+" & Spaces2Url(City & ""), "") & IIf(address & "" <> "", ",+" & Spaces2Url(address & ""), "") _ 
           & "&key=" & yandkey

    adoRS.Open yandurl, adoConn '  <------------ Ошибка тут


    Dim iLevel As Integer
    iLevel = 0
    WalkHier iLevel, adoRS, YandexCoord ' эта процедура запускает разбор xml, но до нее не доходит дело 
    If found = False Then YandexCoord = "не найдено или ошибка"
    Set adoRS = Nothing
    found = False
  
                         
End Function

Function Spaces2Url(str As Variant) As String
    Dim n As Long
    
    For n = 1 To Len(str)
        If Mid(str, n, 1) = " " Then str = Left(str, n - 1) & "+" & Mid(str, n + 1)
    Next n
    Spaces2Url = str
End Function

 

При открытии сгенерированного адреса в Браузере все ок, а если проверить ответ сервера из Access, то в нем будет 400 - Bad Request. Причем если запросить координаты "Беларусь+Барановичи,+Красногвардейска+18" он вернет координаты г. Барановичи (в Яндексе нет карт г. Барановичи), а если запросить "Беларусь+Барановичи,+Красногвардейская+18"- то будет ошибка. Или, например, если спросить адрес "Беларусь,+Берестовица" - найдет, а "Беларусь,+Большая+Берестовица" - ошибка. Если открыть xml-документ на диске, полученный через браузер и сохраненный, то все ок.


Ключ API получен на IP-адрес (сегодня)


Что-то ничего не пойму.

3 комментария
геокодирование
Не работает live("click", fun....) у балуна.
EFRRR
3 апреля 2010, 00:53

Доброй всем ночи. Проблема с ледующем, представлю небольшой пример:(кусок кода)

<script
type="text/javascript">
     
  
var map;

     
  
// Создание обработчика для события
window.onLoad

        YMaps.jQuery(function () {
            //
Создание экземпляра карты и его привязка к созданному контейнеру

            map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);

       
    
// Установка для карты ее центра и
масштаба

            map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);
            YMaps.Events.observe(map, map.Events.Click,  function (map, mEvent) {

       
    
//Создаём метку.
            pmark = new YMaps.Placemark(mEvent.getGeoPoint());


   
        
pmark.description = '<div><form
name="addform" class="addform">

                                        <textarea rows="10" cols="45" name="text"
class="text">

                 
                      
</textarea><p><input
type="submit" value="Сохранить!"   class="saveform" /></p>

                                        </form></div>';

         
 

            map.addOverlay(pmark);

       
  

            pmark.openBalloon();
            });

        });
    </script>
    <script type="text/javascript">

 
  
$(document).ready(function(){

     
  
$("a.savenoteform").live("click", function() {
        alert(1);
        return false;
    });


    $(".test").click(function() {
         
  
var form = $('<form class="testform"></form>');
            var testcontent = $('<input type="submit" class="typesubmittest" />');
            form.append(testcontent);
            $(".testdiv").html(form);
         
  
return false;
        });


    $(".typesubmittest").live("click", function(){
        alert(9);
        return false;
    });
    });
    </script>
</head>

<body>
    <div id="YMapsID" style="width:600px;height:400px"></div>
    <div class="testdiv"><a href="" class="test">Test</a></div>

</body>

Вот. Суть в след. создаём карту, лепим на страницу, создаём обработчик клика по карте, в результате которого должна появится метка, и у неё открыться балун, в котором написана форма. У формы есть кнопочка сохранить(инпут с типом сабмит) со своим классом, на который висит обработчик live("click", func...). В результате при клике на этой кнопочке должен срабатывать алерт(1). Этого как мы видим не происходит. Для эксперимента была добавлена ссылочка Test с опр. классом, при клике на которой динамически средствами jQuery формируется также кнопочка с опр. классом, и на нём висит обработчик live("click", func...) аналогичный предыдущему, но всё срабатывает(флерт всмысле). Т.е. причина в самих картах??? Почему live не может найти форму???



10 комментариев
события,API 1.x
Вопросец по переназначению стиля меток поверх XML!
brelok-device
3 апреля 2010, 11:06

Разместил на сайте карту:

  <script type="text/javascript">
        window.onload = function () {
            var map = new YMaps.Map(document.getElementById("YMapsID"));
   map.setCenter(new YMaps.GeoPoint(37.58,55.746834), 11);       
   map.enableScrollZoom(true);
   map.addControl(new YMaps.TypeControl());
   map.addControl(new YMaps.ToolBar());
   map.addControl(new YMaps.Zoom());

 Дальше создал аккаунт на Yandex чтобы клиент мог сам размещать точки на карте и сохранять их.

Потом взял и экспортнул прямо в карту XML'ку:

  var ml = new YMaps.YMapsML('http://maps.yandex.ru/export/usermaps/.........../')
  YMaps.Events.observe(ml, ml.Events.Fault, function (ml, error) {alert('Ошибка: ' + error);  });

  map.addOverlay(ml);

И теперь собственно вопрос: а как бы мне теперь поменять стиль меток на карте, не трогая XML?

var s = new YMaps.Style();
   s.iconStyle = new YMaps.IconStyle();
   s.iconStyle.href = "file.png";
   s.iconStyle.size = new YMaps.Point(30, 30);
   s.iconStyle.offset = new YMaps.Point(-9, -29);

А как дальше мозг сломал! И как например после загрузки XML центр вернуть на место, а то сдвигает гад влево, некрасиво смотрится? И вообще как переназначать элементы из XML?, но уже через API?

3 комментария
YMapsML
Геокодирование и определение метки
iplayfootball.ru
3 апреля 2010, 13:48

Друзья, вопрос: хочу сделать так, чтобы при поиске адреса в геокодировании была возможность переставить метку, а в балуне отображались бы координаты точки + обратное геокодирование (почтовый адрес). Поискал в клубе - спрос есть на такую штуку, но вот примера готового нет. Может создать его раз и навсегда? :)

Я осилил пока это: http://vakhmistrov.ru/test.html

3 комментария
метка,обратное геокодирование,геокодирование
Совмещение карты
taxicodendron
3 апреля 2010, 15:05

Есть подробная карта района (топографическая + размещенные здания и улицы)

для сайта нужно сделать удобную карту где по щелчку по зданию всплывает (или открывается) меню с содержанием этого здания (адрес, фото, и т.д. и. т.п.) + оптимизированную (чтобы сильно сервер не грузила).

Возможно ли такое сделать использую возможности Яндекс карт? (сайт на joomla)/

3 комментария
слои
вопрос по YMaps.SearchControl
dmit-de
4 апреля 2010, 19:11

Как сделать так чтобы в YMaps.SearchControl по событию Select метка не появлялась, а просто открывался бы участок карты соответствующий выбранному адресу?

А потом нужно уже ранее созданную метку перетащить на это место.

9 комментариев
поиск,API 1.x
Создания собственного стиля отображения содержания метки
Andrey.Cjkjvfnby
4 апреля 2010, 20:50

Здравствуйте, столкнулся с такой проблемой:

Хочу создать метку (YMaps.Placemark) которая отображалась бы на карте как текст на прозрачном фоне.


Текст получается  через placemark.setIconContent()


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

var aStyle = new YMaps.Style(
aStyle.iconContentStyle = new YMaps.IconContentStyle("default#style")
YMaps.Styles.add("iconContent#MyStyle", aStyle);   
   }


А как установить свой или есть ли в стандартных прозрачный вариант?

2 комментария
метка,шаблоны