Клуб API Карт

Найдено на тему «javascript»:
Пример работы модуля "Регионы"
Дмитрий Раевский
7 апреля 2017, 09:43

Что нужно написать в regions.js, чтобы при открытии карты регион сразу вставал Россия и язык русский?

2 комментария
Javascript
Кластеризация объектов
Андрей Г.
22 марта 2017, 18:35

Доброго времени суток!
Делаю так же, как описано в примере, однако у меня десятки, сотни меток и потому присваивать каждому элементу массива myGeoObjects[0], myGeoObjects[1]...вручную не целесообразно. Поэтому решил собрать массив через цикл for, но тут у меня возникла следующая проблема: переменная-счетчик i упорно не желает вставлять свое значение в каждый эллемент массива myGeoObjects[i].
Пример можно посмотреть тут.
Очень надеюсь на чью либо помощь и заранее благодарен за время, уделенное моей проблеме!

4 комментария
Javascript,for,myGeoObjects[i],Кластеризация объектов
Yandex Maps и jQuery Tabs
bpirozhok
31 октября 2016, 16:45

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

Суть проблемы в следующем: 
на сайте размещено всплывающее окно с картами Яндекс и вкладками наjQuery. При нажатии на tab с филиалами , меняется адрес и перемещается на картах соответсвенно. 
Заказчик захотел, чтобы была вкладка со всеми филиалами на одной карте, и при нажатии на иконку происходило открытие соответсвующей вкладки на jQuery. 
Подскажите как в javascript'e сослаться на jQuery вкладку, при событии "click". 

Заранее спасибо всем откликнувшимся! 

На всякий случай прилагаю ссылку на сайт: www.sig.by  (Места занятий).

javascript,jQuery,событие,click,вкладки
Вопросы по яндекс картам от нуба
Роман
11 октября 2016, 17:13

Всем привет. Я не очень разбираюсь в программировании (а api карт это вообще для меня новшество), по этому мои вопросы могут показаться глупыми, ну и пусть ;)

1. Есть objectmanager:

objectManager = new ymaps.ObjectManager({
        clusterize: true,
	clusterDisableClickZoom: true,
         gridSize: 64
});
		
myMap.geoObjects.add(objectManager);
		
var data = {
"type": "FeatureCollection",
"features": [
{"type": "Feature", "id": 3, "geometry": {"type": "Point", "coordinates": [55.7021586,37.6325244]}, "properties": {"clusterCaption": "название", "hintContent": "подсказка", "balloonContentBody": "бла бла бла"},"options": {"preset": "islands#blueCircleDotIcon"}}

{"type": "Feature", "id": 3, "geometry": {"type": "Point", "coordinates": [55.7021586,37.6325244]}, "properties": {"clusterCaption": "название", "hintContent": "подсказка", "balloonContentBody": "бла бла бла"},"options": {"preset": "islands#blueCircleDotIcon"}}]
};
    objectManager.add(data);

Почему в таком случае не получается задать пресет islands#blueDotIconWithCaption с настройкой iconCaption? Карта просто виснет, а очень хочется.

2. Вообще такой ^ способ вывода является оптимальным, если допустим выводить по 5 тысяч меток (с кластеризацией конечно)? Или посоветуете способ получше?

3. На странице есть 3 ссылки. Как реализовать, чтобы при клике по ним открывались маркеры по порядку? Допустим:

<a href="javascript:objectManager.objects.balloon.open(0);">Открыть 1 маркер</a>
<a href="javascript:objectManager.objects.balloon.open(1);">Открыть 2 маркер</a>
<a href="javascript:objectManager.objects.balloon.open(2);">Открыть 3 маркер</a>

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

API 2.1,javascript
Прячим метки и кластеры
chi.kozlov
18 июля 2016, 14:20

Суть проблемы:
Есть сайт со слайдами, на определенном слайде подгружается карта и метки.
Через ObjectManager. После размещения всех объектов на карте анимациям на сайте очень плохо (последующие слайды тормозит анимация).

$('ymaps').length = 505

Удаление ObjectManager.removeAll() приводит к подвисанию на 3-4 секунды.
Как понимаю просто само наличие на страницы 500 html объектов приводит к трудностям.

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

$('ymaps').length = 70 и все летает просто.

Вопрос как спрятать метки когда они уже не нужны? Простите в документации не нашел.

ObjectManager,API 2.1,JavaScript,Метка,Кластер
Узнать округ по введенному адресу
Владислав
4 августа 2015, 17:28

Здравствуйте. Требуется узнать к какому АО относится введенный адрес. Не подскажете, есть ли какие либо средства?

5 комментариев
Javascript,jQuery
Как использовать координаты вида 'm, n' при создании маркера?
siniykv
26 июля 2015, 12:18

Копаю api и инет уже часа два, нашёл только метод fromString() api 1.0 , но в текущей версии такого нет.

6 комментариев
Javascript,координаты,API 2.1
Изменение цвета полигона по клику, как вернуть изначальный цвет неактивному полигону?
alinaama
16 июля 2015, 17:28

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

 

Есть полигоны зеленого цвета по умолчанию. При клике на полигон он меняет цвет на красный.

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

А он остается красным((

 

Код выложила в песочницу https://jsfiddle.net/AlinaBeawer/hc5m5yL4/

100-я строка - меняю цвет по this 

4 комментария
Javascript,события,API 2.1,полигон
Как очистить карту
Aлексей Дементьев
2 июля 2015, 18:28

Ни как не получается очистить карту. Делаю по примеру https://tech.yandex.ru/maps/jsbox/2.1/deliveryCalculator
Но нет кнопки очистить. Удалит карту можно. Делаю так
   document.getElementById('destroyButton').onclick = function () {
        // Для уничтожения используется метод destroy.
       myMap.removeAll();
    };
А как очистить?

17 комментариев
API 2.1,Javascript,jQuery,расчет стоимости доставки
Построение маршрута
Удалённый пользователь
26 июня 2015, 20:56

Добрый вечер. Мне нужно построить маршрут с промежуточными точками.

 

 

ymaps.route([ [61.956084, 29.356849], { type: 'viaPoint', point: [59.93328,30.342791]// или 'Аничков мост' }, [59.956084, 30.356849] ])
.then( function (route) { myMap.geoObjects.add(route); }, function (error) { alert("Возникла ошибка: " + error.message); } );

 

По этому примеру, только начальная и конечная точка (не промежуточные) будут статическими (одинаковыми), а промежуточные точки перебираются в цикле (там массив около 10 точек). Тоесть должно вывестись так: начальная точка + все точки из массива + конечная точка. Как такое сделать?

1 комментарий
маршрутизация,Javascript,API 2.1
Картинка в балуне переменной
romDOSI
4 июня 2015, 17:22

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

Как можно в балуне вывести картинку через переменную ?

примерно так 

balloonContentBody: '<img src="imgz"></img>',

imgz - собственно сама переменная, которая сохраняет ссылку на изображение в БД сервера, и нужно, чтобы она выводилась в балуне этим тэгом.

11 комментариев
Javascript,API 2.1,балун,макеты
Как сделать балун с переадресацией на внешнюю ссылку?
MaksTihomirow
3 июня 2015, 20:21

Если сделать balloonContent:['http://yandex.ru'] то сначала откроется балун, а потом можно будет кликнуть по ссылке.

 

А как сделать так, чтобы сразу был переход по ссылке как это реализовано вот тут: http://www.baikalsr.ru/city/geo_map/

Без открытия балуна

13 комментариев
Javascript,API 2.1
Не нашел, как добавить ссылки на объекты карты
slepoff.al
29 мая 2015, 18:31

Столкнулся с проблемой: прочитав api 2.1 не нашел возможность добавлять ссылки на объекты на карте. Объектов много, добавляются с помощью  objectManager и сохраняются в json. Необходимо добавить ссылки на каждый объект

4 комментария
метка,Javascript,API 2.1
Заголовок не указан
Drm-a
21 мая 2015, 16:31

Доброго времени суток. Возникла проблема. http://test3.alekseev.pw В цикле создаются балуны. И во время цикла в переменную записывается содержимое балуна. (переменная выводится в консоль), но во время создания балуна его содержимое всегда равно значению последнего созданного балуна. 

4 комментария
Javascript,API 2.1,балун
Не получается повесить событие на элемент списка control.ListBox
Dark
21 мая 2015, 13:26

Если назначать события непосредственно:

 

AreaList.get(0).events.add('click', function () {

    console.log(0)

});

AreaList.get(1).events.add('click', function () {

    console.log(1)

});

 

все работает, однако если я эти события пытаюсь повесить через цикл, то не работает. Выдает ошибку TypeError: this._yH is undefined.

Ссылка: https://jsfiddle.net/r7yc2rdm/5/

P.S. Рабочий вариант закоментирован

11 комментариев
API 2.1,события,контролы,выпадающий список,элементы управления,Javascript
Как удалить обработчик события click карты?
Sithis
16 мая 2015, 22:11

Прошу помощи в решении следующей проблемы:

Это обработчик события нажатия кнопки:

addButton.events.add('select', function () {
theMap.cursors.push('crosshair');
theMap.events.add('click', function (e) {//это обработчик события click карты
if (!theMap.balloon.isOpen()) {
if ($('#addformdiv[display=none]')) $('#addformdiv').slideDown("slow");
var coords = e.get('coordPosition');
theMap.balloon.open(coords, {
'Координаты объекта: ' + [

coords[0].toPrecision(6),
coords[1].toPrecision(6)
].join(', ')

});
}
else {
theMap.balloon.close();
}
});
});
addButton.events.add('deselect', function () {
if ($('#addformdiv[display!=none]')) $('#addformdiv').slideUp("slow");
theMap.events.remove('click', <имя функции>); //а вот здесь мне нужно обработчик события click карты удалить
theMap.cursors.push('arrow');
});

 

Проблема состоит в том, что функция анонимная, и я не могу передать ее имя методу remove() в качестве параметра. Как следует поступить в этом случае? Заранее благодарю за помощь.

 

P. S. Такая тема не раз создавалась, однако ни одно из найденных решений, увы, не сработало.

6 комментариев
Javascript,API 2.1
Jquery,JSON,маркеры
diasbaikoshkarov
13 мая 2015, 15:07

Добрый день, я только недавно начал работать с JAVASCRIPT и у меня возникла проблема с yandex maps, используя их пример отрисовки на карту маркеров с JSON, считываются координаты с базы, для отображения передвижения, функция отрисовки происходит по интервальному таймеру, но перед этим нужно удалять старые маркеры, что собственно у меня и не выходит. Может кто-нибудь уже сталкивался с этим, буду признателен за помощь.

Это код для отрисовки на карту

 
ymaps.ready()
    .done(function (ym) {
        var myMap = new ym.Map('YMapsID', {
            center: [55.751574, 37.573856],
            zoom: 10
        });
       var timerJ = setInterval(function()
       {
           jQuery.getJSON('drivers.php', function (json) {
            var geoObject = ym.geoQuery(json)
                .addToMap(myMap)
                .applyBoundsToMap(myMap, {
                    checkZoomRange: true
                });
               
        });
       
        }, 5000);    
    }); 
 


А это для считывания с базы

<?php
$db = mysqli_connect ("localhost", "esmart_server", "FvthbrfywsGbljhfcs!@#", "esmart_db");
 
$query_ru = "SELECT id, lat, lan  FROM es_gps_log";
$result = mysqli_query($db, $query_ru);
$rowct = $result->num_rows;
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
$i=0;
 
echo ('{ "type": "FeatureCollection", "features":[');
 
    do {
        $i++;  
        echo ('{ "type":"Feature", "geometry":{ "type":"Point", "coordinates":["'.$row[0].'","'.$row[1].'"], "properties":{"balloonContent":"comment","hintContent":"comment"}}}');
    if ($i<$rowct) {echo (',');}
        }  
    while ($row = mysqli_fetch_array( $result,MYSQLI_BOTH));
 
echo ('] }');
   
?>

 

7 комментариев
jQuery,Javascript,пользовательское соглашение,API 2.1,PHP
добавить элемент на карту
Удалённый пользователь
11 мая 2015, 10:35

Добрый день. Подскажите, пожалуйста: вывожу на экран карту яндекс

<div id="map"> </div>


в js определяю переменную myMap 

1var myMap = new ymaps.Map('map', {
2                    center: [50.3443, 30.5025],
3                    zoom: 14
4                });


В ходе работы программы хочу добавить элемент на карту

myMap.geoObjects.add(polyline);


разумеется ошибка: переменная myMap не определена.
Подскажите каким образом получить доступ к myMap ? Делаю так:
myMap = document.getElementById('map'); - ошибка. Почему ? Как обратиться к карте что бы добавить элемент ?

6 комментариев
Javascript,API 2.1
Привязка меток на карте к другим объектам на сайте
Удалённый пользователь
8 мая 2015, 17:48

Здравствуйте.Только начал использовать яндекс карты и познания в js минимальны.Дело вот в чем:на странице есть карта и график. можно ли привязать метки на карте к точкам на графике?чтобы при наведении на метку -подсвечивалась точка графика и наоборот.(или хотя бы привязка к блоку-при наведении на метку-менял цвет определенный блок)

возможно ли такое? и если есть пример или советы-буду очень рад.спасибо

3 комментария
метка,Javascript,API 2.1
DUMP 2015: видеозаписи докладов
tech.yandex.ru
13 апреля 2015, 15:55
Компания IT-People.ru выложила видеозаписи докладов со своей конференции Development Usability Management Practice (DUMP), которая недавно прошла в Экспо-центре Екатеринбурга. Ниже встроен плеер с плейлистом из четырёх выступлений сотрудников Яндекса. Первым в плейлисте идёт доклад старшего разработчика API Карт Александра Зинчука про юнит-тестирование в крупных JavaScript-проектах. Из видео вы узнаете, как и почему мы приняли решение о переходе от YUI Test к более современному стеку с использованием Mocha, Expect.JS и Sinon.JS.


Оригинал заметки опубликован в новостях tech.yandex.ru
Javascript,тестирование,видео,новости,мероприятия