Что нужно написать в regions.js, чтобы при открытии карты регион сразу вставал Россия и язык русский?
Доброго времени суток!
Делаю так же, как описано в примере, однако у меня десятки, сотни меток и потому присваивать каждому элементу массива myGeoObjects[0], myGeoObjects[1]...вручную не целесообразно. Поэтому решил собрать массив через цикл for, но тут у меня возникла следующая проблема: переменная-счетчик i упорно не желает вставлять свое значение в каждый эллемент массива myGeoObjects[i].
Пример можно посмотреть тут.
Очень надеюсь на чью либо помощь и заранее благодарен за время, уделенное моей проблеме!
Всем доброго времени суток!
Суть проблемы в следующем:
на сайте размещено всплывающее окно с картами Яндекс и вкладками наjQuery. При нажатии на tab с филиалами , меняется адрес и перемещается на картах соответсвенно.
Заказчик захотел, чтобы была вкладка со всеми филиалами на одной карте, и при нажатии на иконку происходило открытие соответсвующей вкладки на jQuery.
Подскажите как в javascript'e сослаться на jQuery вкладку, при событии "click".
Заранее спасибо всем откликнувшимся!
На всякий случай прилагаю ссылку на сайт: www.sig.by (Места занятий).
Всем привет. Я не очень разбираюсь в программировании (а 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 находится вне зоны видимости. Можете подсказать, желательно с примером?
Суть проблемы:
Есть сайт со слайдами, на определенном слайде подгружается карта и метки.
Через ObjectManager. После размещения всех объектов на карте анимациям на сайте очень плохо (последующие слайды тормозит анимация).
$('ymaps').length = 505
Удаление ObjectManager.removeAll() приводит к подвисанию на 3-4 секунды.
Как понимаю просто само наличие на страницы 500 html объектов приводит к трудностям.
Получается как не оптимизируй, все равно меньше объектов не сделать (кластиризация на сервере и потайловая загрузка). Как оптимизированно спрятать объекты в момент ухода со слайда, не нашел. Однако если просто передвинуть карту где нет меток то:
$('ymaps').length = 70 и все летает просто.
Вопрос как спрятать метки когда они уже не нужны? Простите в документации не нашел.
Здравствуйте. Требуется узнать к какому АО относится введенный адрес. Не подскажете, есть ли какие либо средства?
Копаю api и инет уже часа два, нашёл только метод fromString() api 1.0 , но в текущей версии такого нет.
Добрый день! Подскажите, пожалуйста, два дня бьюсь! ни в песочнице, ни в примерах не нашла решения, в javascript новичек - все делала по примерам.
Есть полигоны зеленого цвета по умолчанию. При клике на полигон он меняет цвет на красный.
Но при клике на другой полигон, цвет должен вернуться к цвету по умолчанию - зеленому.
А он остается красным((
Код выложила в песочницу https://jsfiddle.net/AlinaBeawer/hc5m5yL4/
100-я строка - меняю цвет по this
Ни как не получается очистить карту. Делаю по примеру https://tech.yandex.ru/ma
Но нет кнопки очистить. Удалит карту можно. Делаю так
document.getElementById('destroyButton').onclick = function () {
// Для уничтожения используется метод destroy.
myMap.removeAll();
};
А как очистить?
Добрый вечер. Мне нужно построить маршрут с промежуточными точками.
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 точек). Тоесть должно вывестись так: начальная точка + все точки из массива + конечная точка. Как такое сделать?
Здравствуйте!
Как можно в балуне вывести картинку через переменную ?
примерно так
balloonContentBody: '<img src="imgz"></img>',
imgz - собственно сама переменная, которая сохраняет ссылку на изображение в БД сервера, и нужно, чтобы она выводилась в балуне этим тэгом.
Если сделать balloonContent:['http://yandex.ru'] то сначала откроется балун, а потом можно будет кликнуть по ссылке.
А как сделать так, чтобы сразу был переход по ссылке как это реализовано вот тут: http://www.baikalsr.ru/city/geo_map/
Без открытия балуна
Столкнулся с проблемой: прочитав api 2.1 не нашел возможность добавлять ссылки на объекты на карте. Объектов много, добавляются с помощью objectManager и сохраняются в json. Необходимо добавить ссылки на каждый объект
Доброго времени суток. Возникла проблема. http://test3.alekseev.pw В цикле создаются балуны. И во время цикла в переменную записывается содержимое балуна. (переменная выводится в консоль), но во время создания балуна его содержимое всегда равно значению последнего созданного балуна.
Если назначать события непосредственно:
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. Рабочий вариант закоментирован
Прошу помощи в решении следующей проблемы:
Это обработчик события нажатия кнопки:
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. Такая тема не раз создавалась, однако ни одно из найденных решений, увы, не сработало.
Добрый день, я только недавно начал работать с 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","hintCont );ent":"comment"}}}'
if ($i<$rowct) {echo (',');}
}
while ($row = mysqli_fetch_array( $result,MYSQLI_BOTH));
echo ('] }');
?>
Добрый день. Подскажите, пожалуйста: вывожу на экран карту яндекс
<div id="map"> </div> |
в js определяю переменную myMap
1 | var 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'); - ошибка. Почему ? Как обратиться к карте что бы добавить элемент ?
Здравствуйте.Только начал использовать яндекс карты и познания в js минимальны.Дело вот в чем:на странице есть карта и график. можно ли привязать метки на карте к точкам на графике?чтобы при наведении на метку -подсвечивалась точка графика и наоборот.(или хотя бы привязка к блоку-при наведении на метку-менял цвет определенный блок)
возможно ли такое? и если есть пример или советы-буду очень рад.спасибо
Оригинал заметки опубликован в новостях tech.yandex.ru