Клуб API Карт

июнь 2011
статическая гибридная народная карта
Кондаков Андрей
1 июня 2011, 13:22

Привет всем.

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

l=pmap вместо l=map

но этот вариант показывает спутниковый снимок

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

Пробовал варианты

l=pskl

l=psat

l=psat,pskl

l=phybrid

эти варианты ничего не выводят.

Может кто-нибудь в курсе, какой параметр нужно указать, если это вообще возможно?

3 комментария
народная карта,API 1.x
API Яндекс.Карт версия 1.1.20
Карты
2 июня 2011, 23:39

Мы постоянно продолжаем улучшать API Яндекс.Карт. На этот раз мы сделали одно, но очень востребованное улучшение: при обратном геокодировании добавлена возможность указывать тип интересующего топонима.

Теперь у разработчиков появилась возможность указать интересующую координату и получить в ответ список ближайших топонимов по отдельности:

  • house - здание;
  • street - улица;
  • metro - станция метро;
  • locality - населенный пункт.

Подробности читайте в документации. Список всех изменений API доступен здесь

.

API Яндекс.Карт версия 1.1.20

Мы постоянно продолжаем улучшать API Яндекс.Карт. На этот раз мы сделали одно, но очень востребованное улучшение: при обратном геокодировании добавлена возможность указывать тип интересующего топонима.

Теперь у разработчиков появилась возможность указать интересующую координату и получить в ответ список ближайших топонимов по отдельности:

  • house - здание;
  • street - улица;
  • metro - станция метро;
  • locality - населенный пункт.

Подробности читайте в документации. Список всех изменений API доступен здесь

.

Нет комментариев
API 1.x,геокодирование
При использовании пользовательского стиля оформления балуна внутри него нельзя выделить текст
alexey.v.zakharov
3 июня 2011, 10:06

http://api.yandex.ru/maps/jsapi/examples/mapballoonlayout.html - я создал стиль балуна по аналогии с вашим примером. Внутри него не выделяется текст, не работают элементы формы. Карта перемещать нажимая на балун. Видимо слой основной карты его перекрывает. Я не знаю как можно это убрать.... Пробывал в разных местах ставить z-index не помогает.

2 комментария
API 1.x,балун
импорт рубрик Яндекс справочника
Кондаков Андрей
3 июня 2011, 10:30

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

Подскажите пожалуйста, возможен ли импорт рубрикатора видов деятельности Яндекс справочника http://sprav.yandex.ru/rubrics/ ?

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

3 комментария
API 1.x,поиск организаций
Есть ли версия yandex-карт без встроенного jQuery?
Innuendo108
3 июня 2011, 16:05

В файле движка яндекс-карт уже есть встроенный jQuery.

Там где мне нужно встроить карту, уже есть jQuery-скрипт. Зачем теперь мне 2 раза грузить jQuery? Может есть версия yandex-карт-движка без jQuery, и я смогу пользоваться вызовами jQuery функций из моего скрипта (тем более у меня свежий 1.6.1 а не 1.3.2 как в Яндекс картах)

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

6 комментариев
API 1.x
Как узнать расстояние ломаной в километрах
gorod37ru
3 июня 2011, 16:49

Создал ломаную с помощью YMaps.Polyline.fromEncodedPoints.

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

8 комментариев
API 1.x
Геокодирование
Kostos2
3 июня 2011, 16:59

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

Не могу разобраться, каким образом можно сразу получить координаты по адресу. Прочтение раздела про геокодирование не внесло ясности.

 var ml = new YMaps.YMapsML('http://geocode-maps.yandex.ru/1.x/?<%= Получить_инфо_геокодер() %>') ;

 

 

        public string Получить_инфо_геокодер()

        {

            Guid id = new Guid(Request.Params["ID"]) ;

            Database1Entities1 EntityModel = new Database1Entities1() ;

            Адрес_объекта адрес = (from u in EntityModel.Адрес_объекта

                                   where u.ID == id

                                   select u).First<Адрес_объекта>() ;

 

           var адрес= (адрес.Наименование_населённого_пункта + "%20" +

                адрес.Улица + "%20" + адрес.Дом);

 

           return ("geocode=" + адрес + "&key=****");

 

        }

 

Адрес выводится, но мне ещё нужны значения координат.

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

1 комментарий
геокодирование
Выбрать масштаб карты, чтобы все элементы уместились.
Innuendo108
4 июня 2011, 11:03

Необходимо загрузить несколько элементов на карту, и разместить их так, чтобы все были видны. (Выбрать такой нужный zoom надо).

Как это сделать? Я понимаю, что сначала загружаю пусткую карту (с конкретным зумом), а потом добавляю туда элементы. И затем мне получается необходимо перезумить карту - не нашел такого метода в API. Это необходимо делать как-то вручную?

6 комментариев
API 1.x
Конструктор схем проезда, цвет текста в блоке
real-fashion
4 июня 2011, 11:35

Приветствую!

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

14 комментариев
метка,API 1.x,конструктор
Проблемы с формой в балуне. Отправление данных несколько раз.
Innuendo108
5 июня 2011, 08:07

Есть карта, на которой пользователь оставляет указатели.

Кликнув в любом месте по карте, всплывает балун с html-формой, он заполняет название и описание и точка сохраняется.

Всплыла такая проблема. К примеру пользователь 5 раз кликнет где угодно по карте, но в форму ничего не в пишет, а просто нажмёт на крестик на балуне. А на 6-ой раз он заполнит и отправит форму. Аякс запрос почему-то отправится 6 раз! За все закрытые разы тоже.

Балун создаётся так:

      var templated    = _tpl.tmpl(self.options);
            self.html     = $("<div>").append(templated).html( ) ;
           
            // открытие балуна с формой
            map.openBalloon(
                        self.getGeoPoint(),
                        self.html
            ) ;
            // назначение событий на форму
            self.eventify( ) ;

tmpl - это jQuery Template. Он отрисован в HTML-коде страниц.

Форма субмитится так

           self.$elem.live( 'submit' , function( ) {
                console.log ( 'Submit was pressed.' ) ;
               
                $.ajax({ 
                    type         : "POST", 
                    url           : "addxy.php",
                    dataType : 'json', 
                    data        : self.getAjaxData(),
                    success   : self.callback 
                } ) ;
                return false; 
            } ) ;  //: live

P.S.

Если я первый раз добавлю точку - всё ок. Второй раз добавлю точку - уже будет 2 субмита. третий раз - три субмита. и т.д.

1 комментарий
API 1.x
Задать параметр (макс. ширину) всем балунам на карте
Innuendo108
5 июня 2011, 11:14

В документации прочитал как изменять параметр балуну при его открытии openBalloon, или через map.getBalloon() (что не работает если на карте нет открытого балуна).

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

5 комментариев
API 1.x
Ошибка сценария.
UryevAndrey
6 июня 2011, 12:29

 Уважаемые Гуру!

Ниже приведен текст скрипта, который по моему мнению полностью рабочий т.к. работает у большенства пользователей. Но у некоторых пользователей появляется стабильная ошибка: "getClosestPoint(...).point" - есть null или не является объектом. Проверял на одинаковых данных. Подскажите плиз., где копать? В чем может быть причина?

 

 

    |function FindPoligon (mLng, mLat) {
    |    var GroupPoligons = mapExport.getGroup;
    |    if (GroupPoligons){
    |        // найдем вхождение в полигон
    |        var found = false;
    |        var res = [];
    |        var polName = """";
    |        var geoPoint = new YMaps.GeoPoint(mLng, mLat);
    |        GroupPoligons.forEach(function (obj, objIndex, group) {
    |            if (found == false){
    |                if (obj.contains(geoPoint)){
    |                    found = true;
    |                    polName = obj.id;
    |                }
    |            }
    |        }
    |        // если точка не входит ни в один полигон, то найдем ближайший
    |        if (found == false){
    |            minDistance = 1000000;
    |            GroupPoligons.forEach(function (obj, objIndex, group) {
    |                cDistance = geoPoint.distance(obj.getClosestPoint(geoPoint).point);
    |                if (cDistance < minDistance){
    |                    minDistance = cDistance;
    |                    polName = obj.id;
    |                }
    |            }
    |        }
    |        res[0] = found;
    |        res[1] = polName;
    |       
    //|        f_alert(polName);
    |       return res;
    |    }else{
    |       return 0;
    |    }
    |}

 

6 комментариев
API 1.x
Как изменить положение placemark'а?
alekseev-ap.23
6 июня 2011, 13:40

Добрый день!

Я новичок на Яндекс картах. Т.е. у меня есть маленький пример http://cheboksary.aapsoftware.ru/map.php который работает, но я хочу сделать следующее: показать движение троллейбусов на карте города. Задача сложная и я начал с простого.

Вот мой код:

 

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://api-maps.yandex.ru/1.1/index.xml?key=AB8jnkwBAAAABzuVdQMAOUwAuAbZp_Ag0XXzHy8Aa3Th4akAAAAAAAAAAAAWbLKkqfA-6K_KpRwycdeSmkJlhQ==" type="text/javascript"></script>
<script type="text/javascript">
window.onload = function () {
    var map = new YMaps.Map(document.getElementById("YMapsID")
    map.setCenter(new YMaps.GeoPoint(47.25,56.14), 14);
};
       
function f1() {
var placemark = new YMaps.Placemark(new YMaps.GeoPoint(47.25,56.14),{hideIcon: true,draggable: true}
// Добавляет метку на карту
map.addOverlay(placemark);
}       
</script>
</head>

<body>
    <div id="YMapsID" style="width:1600px;height:800px"></div>
    <input type=button name=B1 value="Set" onclick="f1()">
</body>
</html>

Проблема следующая: в функции f1 я обращаюсь к карте по имени map, но Лисичка говорит мне что map неопределен. Тоже и в других браузерах. Как правильно обратиться к карте из других функций JavaScript? Помогите пожалуйста!

Я понимаю, что добавление placemark'а можно и нужно делать внутри


window.onload = function () {

 ...

}

Но как изменить координаты этого placemark'а?

 

1 комментарий
API 1.x
Использование карт в flash StageWebView
valeriy.upyrjov
6 июня 2011, 13:58

Добрый день,

Возникла проблема при использовании API карт во флэш. С недавнего времени он позволяет загружать HTML контент. Я так понял, что валидность ключа карты определяется по содержанию заголовка Referer. А там "добрые" разработчики гвоздями забили строку вида "app://<app_name>.swf" и изменить её невозможно. Я пробовал генерировать ключ типа <app_name>.swf, но он не сработал. Может у кого-то получилось заставить работать карты при Referer'aх подобного вида?

Нет комментариев
API 1.x
Включение плавного перемещения карты.
Gassss
6 июня 2011, 14:19

http://api.yandex.ru/maps/jsapi/examples/mappanto.html

 

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

1 комментарий
API 1.x
изменение вида ползунка масштаба
roo8jae
6 июня 2011, 15:43

Подскажите,

возможно ли изменить вид ползунка масштаба? например изменить кнопки плюс/минус? передвинуть всплывающие подсказки ?

1 комментарий
API 1.x
Вычисление координат отображаемой области
max.zolotyh
6 июня 2011, 21:37

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

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

 

Карта отображается на странице. В базе есть несколько десятков тысяч объектов, которые надо нанести на неё. Однако подгружать их все пользователю было бы рпосто бесчеловечно, поэтому я хочу производить запрос к серверу с указанием географических координат отображаемой карты, а тот в свою очередь выберет только необходимые объекты. Каким образом можно получить коорждинаты отображаемого в данный момент участка?

6 комментариев
API 1.x
Здравствуйте.Уже выступал у Вас, нужен модуль с картой
Atavisma
6 июня 2011, 21:58

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

Нужна помощь, за деньги. Я не понимаю ничего в этом, только понимаю руководить)))

Вот уже сайт на подходе. http://test.razborka52.ru/ очень нужно.

Нет комментариев
API 1.x
TypeControl в виде комбобокса
Удалённый пользователь
7 июня 2011, 09:31

Доброе утро.

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

 

Вопрос: как запихнуть "Схема", "Спутник", "Гибрид" в выпадающий комбобокс? где-то я такое видел (http://help.yandex.ru/maps/?id=1053668)

 

Благодарю

4 комментария
API 1.x
Ответ геокодера
Александр Новиков
7 июня 2011, 13:02

Возник чисто теоретический вопрос... а откуда берутся данные для ответа геокодера?

Сейчас столкнулся с ситуацией что при обратном геокодировании геокодер выдает информацию немного отличающуюся от "общепринятой".

Так например в ответе геокодера в названиях населенных пунктов всякие "Верхние" и "Нижние" идут в сокращении: "Верх" и "Ниж", Соотвестсвенно приходится исключения добавлять.

Или вот есть такой поселок "Провидения". По КЛАДР это Чукотский АО, Провиденский район

А геокодер лаконичен: Россия,Провидения

Есть ли какие-нибудь настройки для изменения выдачи геокодера? или лучше сразу у себя в логику это жестко кодировать?

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