Клуб API Карт

август 2013
Как отключить цифры с меток?
mak200
1 августа 2013, 09:15

Как отключить цифры с меток?
Карта создана с помощью сервиса "Мои карты"
http://www.neftebaza.ru/ref.htm

3 комментария
мои карты,API 2.0,YMapsML
Определение направления (шоссе)
antontotsky
1 августа 2013, 11:34

Всем привет!

Перейду сразу к делу, нужно по клику на карте определять направление, а именно шоссе (Волоколамское, Ленинградское, Ярославское и др.)

Если это делать через маршруты, то не всегда они проходят по шоссе, если перехватывать по отрезкам

Я думал создавать полигоны-многоугольники и обрабатывать клики по ним

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

Может кто-то уже такое делал и поделится опытом?

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

7 комментариев
API 2.0,расчёт расстояния,ломаная
Адрес хранится в Input'e (html) или переменной PHP передать адрес на кару и отобразить.
mr.ivanov258
1 августа 2013, 11:50
Добрый день. Например есть адрес (г.Киев,ул.Оболонь 57) который хранится в инпуте хтмл или в переменной пхп, мне нужно чтобы этот адресс отобразило на карте с меткой. Подскажите пожалуйста как это осуществить. Буду благодарен.

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

 

<script type='text/javascript'>
    ymaps.ready(init);
    var myMap;
    var myGeocoder = ymaps.geocode('г.Алчевск, Гмыри ,1');
    myGeocoder.then(
        function (res) {
            var coords = res.geoObjects.get(0).geometry.getCoordinates();
            alert(coords);
            var myGeocoder = ymaps.geocode(coords, {
                kind: 'street'
            });
            myGeocoder.then(
                function (res) {
                    var street = res.geoObjects.get(0);
                    var name = street.properties.get('name');
                    alert(house);
                }
            );
        });
    function init() {
        myMap = new ymaps.Map('map', {
            center: coords,
            zoom: 7,
        });
    }
</script>

 

10 комментариев
API 2.0,геокодирование
2.0 переключен на 2.0.32
tekunova
1 августа 2013, 15:03
2.0 переключен на 2.0.32

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

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

Команда разработчиков API Яндекс.Карт.

Нет комментариев
обновление,API 2.0
Не выводится карта на сайт
natasha.shtokalenko
1 августа 2013, 17:18

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

Скопировала старый, подкорректировала и вставила на сайт, но карта почему не показывается. Свела уже до минимума код для проверки, но все равно ни один браузер не видит карту (вставила "Привет" для проверки, он выводится). 

Подскажите, пожалйста, в чем ошибка, уже полдня мучаюсь!!!

 

<head>
    <script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
    <script src="http://yandex.st/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        ymaps.ready(init);
        function init() {
            var myMap = new ymaps.Map("Map", {
                center: [91.400945453089, 53.838893720175],
                zoom: 15
            });
        }
    </script>
</head>
<body>
    <h1> Привет </h1>
    <div id="Map" class="map_org"></div>
</body>

 

10 комментариев
API 2.0,CSS
Много меток на карте
Aina B.
1 августа 2013, 22:52

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

var myPlacemark = new ymaps.Placemark([-179.346656799316, 85.04047012975899], {
        // Контент балуна
        balloonContentBody: '<h3>Имя метки</h3>',
        // Произвольные пользовательские данные
        // Кладем сюда урл, на который надо перейти при клике на метку.
        url: 'http://yandex.ru'
    }, {
        preset: 'twirl#buildingsIcon'
    }),
    // Для удобства будем добавлять через промежуточную коллекцию.
    myCollection = new ymaps.GeoObjectCollection();
// Добавим коллекцию на карту.
map.geoObjects.add(myCollection);
// Добавим метку в коллекцию.
myCollection.add(myPlacemark);
// Сразу откроем на метке балун
// myPlacemark.balloon.open();
// Удалить все метки с карты
// myCollection.removeAll();
// При клике на метку, вместо открытия балуна, сразу переходим на другой урл.
myCollection.options.set('hasBalloon', false);
myCollection.events.add('click', function (e) {
    var geoObject = e.get('target');
    window.location.href = geoObject.properties.get('url');
});

 

9 комментариев
метка,API 2.0
Стиль второй метки
mr.ivanov258
2 августа 2013, 00:17

Координаты адресов приходят по пхп. но есть вопрос. как мне сделать метку 1(одним стилем например стандартным стилем)-На метке написано А, и вторую метку с координатами с меткой Б.Как мне указывать стили и т.д.

 

<script type="text/javascript">
    ymaps.ready(init);
    var myMap,
        myPlacemark;
    function init() {
        myMap = new ymaps.Map("map", {
            center: [ <?= $a1; ?> , <?= $a2; ?> ],
            zoom: 11
        });
        myPlacemark = new ymaps.Placemark([ <?= $a1; ?> , <?= $a2; ?> ], {});
        myMap.geoObjects.add(myPlacemark);
        myPlacemark = new ymaps.Placemark([49.465977, 39.840305], {});
        myMap.controls.add('smallZoomControl');
        myMap.geoObjects.add(myPlacemark);
    }
</script>

 

1 комментарий
метка,API 2.0,стили
Элементы управления вне контейнера карты
Yevhen
2 августа 2013, 17:22

Интересует наиболее правильный способ реализации поиска, как при построении маршрута на maps.yandex.ru

Подскажите, каким образом разместить searchControl вне карты. Или же для этого будет праивльнее навесить функционал на кастомную форму?

2 комментария
поиск,API 2.0
Миграция кода создания пользовательского слоя с версии 1.x на 2.0
tekunova
2 августа 2013, 19:50
Миграция кода создания пользовательского слоя с версии 1.x на 2.0

В версии 1.х API Яндекс.Карт есть приложение для подготовки тайлов для пользовательских слоев карты. Пока оно генерирует код для старой версии API, но мы подготовили пример миграции этого кода на версию 2.0.

Tiles

Мы написали специальный класс. Все, что вам нужно, это взять объект options сгенрированный этой программой и передать на вход конструктору этого класса.

Открыть класс в новом окне.

Посмотреть итоговый пример в новом окне.

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

Нет комментариев
слои,API 2.0,примеры
Загрузка собственного изображения в качестве карты (для Drupal с использованием модуля yamaps или без него)
D.Abramov8
3 августа 2013, 13:15

Добрый день!

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

очень интересно знать!)

14 комментариев
слои,API 2.0
Карта 100% по ширине и высоте
Jleito
3 августа 2013, 14:15

Здравствуйте. Хочу вставить на сайт готовую карту из раздела конструктор карт, как указать параметры ширины и высоты в 100%?

 

<script type="text/javascript" charset="utf-8" src="//api-maps.yandex.ru/services/constructor/1.0/js/?sid=BLABLABLABLABLABLA_BLABLA&width=600&height=450"></script>

 

По умолчанию 600 на 450, как поменять параметры?

21 комментарий
конструктор
автоматическое определение местопложения
stepan-rts
3 августа 2013, 20:24

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

1 комментарий
геолокация,API 2.0
Масштабирование карты при использовании setBounds
topvas
3 августа 2013, 21:56

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

Размещаю на карте (api версии 2) метки вот таким кодом:

 

  
  var map;
  var myCollection;
  
  ymaps.ready(function () {
    map = new ymaps.Map('YMapsID', {
        center: [56.833333, 60.583333], // Екатеринбург
        zoom: 15,
        type: 'yandex#map',
        behaviors: ['default', 'scrollZoom']
    });
  
  //Добавляем элементы управления
   map.controls                
            .add('zoomControl')                
            .add('typeSelector')                
            .add('mapTools')
            //Обзорная карта, с заданным типом
            .add(new ymaps.control.MiniMap({
                type: 'yandex#publicMap'
            }));
      
  myCollection = new ymaps.GeoObjectCollection();       
  make_centers();
})
  
function make_centers(){
   
  var json = [{"id":"30","name":"\u0428\u0438\u0448\u043a\u0438\u043d\u043e","place":"\u0433\u043e\u0440\u043e\u0434\u0441\u043a\u043e\u0439 \u043e\u043a\u0440\u0443\u0433 \u0411\u0435\u0440\u0435\u0437\u043e\u0432\u0441\u043a\u0438\u0439","sale_office_phone":"8 (343) 345-67-89; 8 (912) 6666-222","lon":"60.906998","lat":"56.907561"}];
  for (i = 0; i < json.length; i++) {
    var sch = i+1;
    var placemark = new ymaps.Placemark([json[i].lat,json[i].lon], {
      iconContent: sch,
        balloonContentHeader: '<div><a href="/villages/'+json[i].id+
        '" style="color:#b5197b;">'+json[i].name+'</a></div>',
        balloonContentBody: '<div style="font-size:13px;"><div><strong>Адрес:</strong> '+json[i].place+'<br>'+'<strong>Телефоны:</strong> '+json[i].sale_office_phone+'<br></div></div>'   
      }, {
      // Опции
      preset: 'twirl#violetDotIcon'
    });
    myCollection.add(placemark);    
    map.geoObjects.add(myCollection);
    // Set center and zoom using collection bounds.
    // CheckZoomRange prevent too high zoom on map with 1 object.
    map.setBounds(myCollection.getBounds(), {checkZoomRange:true});
  }
}

 

Вот пример в действии.

 

Всё работает хорошо, пока на карту добавляется несколько меток. Но если она одна, то я хотел бы делать zoom меньше. А сейчас карта открывается на максимальном увеличении.

 

Пробовал экспериментировать со значением zoom в конфигурации карты и map.setZoom, но безрезультатно.

8 комментариев
API 2.0,область видимости
Как заставить работать пример и XML файл
example.employee
3 августа 2013, 23:46

Всем доброй ночи. 

Нашел "Вывод списка по категориям" в песочнице в разделе "Геообъекты". Сохранил все в свой html-файл. И оно запускаться не захотелось. Потом сохранил файл group.js. Никакой реакции.

Потом пошел в Клуб по ссылке в описании. Там дали нашел другую реализацию по ссылке: http://dimik.narod.ru/ymaps/grouping.html

Скопировал. Заработало. Но, там метки хранятся в XML-файле. Я его сохранил. и работать перестало. Только карта отображается.

По этому есть несколько вопросов:

1) Как мне правильно сохранить XML-файл, что бы метки начали отображаться

2) Как мне правильно сохранить пример из песочницы "Вывод списка по категориям" и прилагающийся к нему groups.js

Заранее спасибо за ответы. На Вас вся надежда. Целый день на это убил

8 комментариев
меню,API 2.0,коллекции,YMapsML
Скрипт карты в отдельном файле
moskwin68
4 августа 2013, 14:25

Подскажите пожалуйста, почему один и тот же код между тегами <head></head> выводит карту

А в подключаемом файле нет

10 комментариев
Javascript,API 2.0
Карта в drupal 7
Aina B.
4 августа 2013, 23:58

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

11 комментариев
тайлы,API 2.0,Drupal
Путь до файлов меток в API 2.0
fomich-drrr
5 августа 2013, 01:08

Здравствуйте, есть модуль: http://www.it-hive.ru/apps4bitrix/officesplus/, который использует АПИ 1.х

В данный момент производим переход на АПИ 2.0: http://marketplace.it-hive.ru/offices/

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

Например в АПИ 1.х для иконки аэропорта/самолета имя пресета = "default#airplaneIcon" адрес картинки будет такой:

 http://api-maps.yandex.ru/i/0.4/icons/airplane.png 

Но в АПИ 2.0 оказалось сложнее:

Для пресета = 'twirl#airplaneIcon' картинка такая:

 http://api-maps.yandex.ru/2.0.32/images/76243db0a6c33f14f159d3db8654966f.png 

Казалось что нашлось решение, нашли в описании эти иконки: http://api.yandex.ru/maps/doc/jsapi/2.x/ref/reference/option.presetStorage.xml, но оказалось что они с белой подложкой, хоть и PNG, а нужны с прозрачностью.

Кто-нибудь знает где можно найти, и можно ли найти? 

6 комментариев
примеры проектов,метка,API 2.0,API 1.x
Вывод ломанной с mysql
Milov
5 августа 2013, 13:07

Здравствуйте, в базе координаты хранятся так [55.88015, 37.7126], [55.8791, 37.71496], [55.87828, 37.7168], [55.87731, 37.71907]

делаю так

 

var obj = '[55.88015, 37.7126], [55.8791, 37.71496], [55.87828, 37.7168], [55.87731, 37.71907]';
var obj1 = eval(obj);
           
                var myPolyline = new ymaps.Polyline([obj1], { hintContent: "",  balloonContent: "Ломаная линия"  }, { strokeColor: "#000000",  strokeWidth: 4,  strokeOpacity: 0.5  });
                myMap.geoObjects.add(myPolyline);

                myMap.setBounds(myPolyline.geometry.getBounds());

 

то карта отрисовывает с максимальным масштабом (говорит что таких тайлов нет), при увеличении показывает нужное место но линию не рисует

 

а если сразу поставить [55.88015, 37.7126], [55.8791, 37.71496], [55.87828, 37.7168], [55.87731, 37.71907] то всё нормально работает.

 

Строку перевожу в массив через eval.

 

Где ошибка? что делаю не так?

8 комментариев
PHP,Javascript,координаты,API 2.0,ломаная
Анимация смены координат точки
Иван Пилюгин
5 августа 2013, 14:07

Добрый день.

Возможно ли анимировать смену координат точки? Другими словами, реализовать плавное перемещение точки по карте. Может, пример есть какой?

1 комментарий
метка,API 2.0,анимация
непоказывает карту :( ?
budin.i
5 августа 2013, 14:35

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

Скажите пож - почему непоказывает карту тут http://gillette-opt.ru/contact.html , содержимое скрипта загружается нормально а карту невидно почемуто?

3 комментария
конструктор