Добрый день!
Задача стоит следующая: пользователь на карте отрисовывает полигон, а мне нужно получить все адреса, которые входят в данный полигон (название адреса, координата - неважно, любая информация за которую можно зацепиться в дальнейшем).
Можно ли такое сделать средствами яндекс карт?
Ситуация такова:
на карте размещено несколько полигонов, которые имеют общие границы друг с другом, т.е. точки одного полигона являются точками другого (правильнее - другой полигон тоже имеет точки с такими же координатами).
есть потребность в изменении геометрии этих полигонов. Изменение области геометрии, неграничащей с другими полигонами - не вызывает затруднений, а вот на общей границе- очень даже не просто ...
подскажите пжлста есть ли возможность как то сцепить полигоны в общих границах (точках), и изменять геометрию обоих полигонов, в случае перемещения общей точки одного из полигонов?
Буду премного благодарен, если укажите в каком направлении двигаться....
Пытался через each вывести определенные регионы и заметил, что в цикл попадают только часть из них.
Что я делаю не так?
Для наглядности fiddle: https://jsfiddle.net/cja184df/3/
Код скрипта :
ymaps.ready(init);
function init() {
var myMap = new ymaps.Map('map',{
center: [57.01, 41.00],
zoom: 3,
controls:['zoomControl']
});
ymaps.regions.load('RU', {
lang: 'ru',
quality: 1
}).then(function (result) {
var regions = result.geoObjects;
regions.each(function (reg) {
myMap.geoObjects.add(reg);
});
}, function () {
//alert('No response');
});
}
И еще заметил, что при добавлении в коллекцию полигонов, границы коллекции (getBounds) не определяются. Если добавить Placemark-и и полигоны, границы будут составляться на основе Placemark-ов, а полигоны не учитываются. Так и должно быть?
Необходимо реализовать изменение уровней полигонов. Как в Visio на один уровень выше/ниже.
При создании полигона пытаюсь задать zIndex
polygon = new ymaps.GeoObject({
geometry: {
type: "Polygon",
coordinates: [],
options: {
zIndex:100,
maxPoints:3
}
}
далее присваиваю данному параметру другие значения, но на карте полигоны остаются в той последовательности в которой были нарисованы.
Полигоны доавляются на карту через коллекции.
В итоге вопрос, как менять уровень отображения полигонов нка карте?
});
Но если после создания посмотреть в console.log(poligon.options); видно что zIndex=NaN
Как воспользоваться данной опцией?
Здравствуйте!
Столкнулся со следующей проблемой: есть 2 карты, на каждой из них должна быть возможность редактировать полигон. Но при добпалении полигона, а точнее при включении режима редактирования startDrawing на втором полигоне, пропадает возможность редактировать первого.
Javascript код:
1 | var map_1_map, map_2_map, map_1_polygon, map_2_polygon; |
HTML код:
1 | <div style="width:45%; height:300px; display:inline-block;" id="map_1"></div> |
Подскажите, пожалуйста, как включить одновременное редактирование двух полигонов на двух разных картах?
P.S. Тут можно посмотреть пример: http://grefon.com/examples/maps/
Добрый день! Подскажите, пожалуйста, два дня бьюсь! ни в песочнице, ни в примерах не нашла решения, в javascript новичек - все делала по примерам.
Есть полигоны зеленого цвета по умолчанию. При клике на полигон он меняет цвет на красный.
Но при клике на другой полигон, цвет должен вернуться к цвету по умолчанию - зеленому.
А он остается красным((
Код выложила в песочницу https://jsfiddle.net/AlinaBeawer/hc5m5yL4/
100-я строка - меняю цвет по this
С кругом и прямоугольником, всё просто проблемма с многоугольником. Нужен алгоритм который вычисляет, принадлежит ли точка геозоне типа многоугольник. И всё это мне надо сделать в PHP скрипте, данные о точках многоугольника хранятся в БД. Подскажите в каком направлении двигаться, может быть есть уже готовые функции? Подойдут ли для этого методы векторной алгебры ? Ведь они вроде как для плоскости, а у нас получается сфера.
Добрый день!
Подскажите, пожалуйста! Загружаю на карту регионы из сервиса Мои карты:
center: [55, 38],
zoom: 6
});
ymaps.geoXml.load('https://maps.yandex.ru/ex
res.geoObjects.options.set('fillColor', 'ff000099');
myMap.geoObjects.add(res.geoObjects);
});
Как видно из кода, пытаюсь заменить цвет заливки полигона, но ничего не получается. Что я делаю не так?
На карте есть 3 многоугольника. Как определить в какой из них попадает координата? И если попадает сделать переход по определенной ссылке? Заранее спасибо!
Здрасти,
Подскажите, пожалуйста, в API 2 яндекс есть уровни, которые были в API 1
var polygon = YMaps.Polygon.fromEncodedPoints(
"hPD6AgItMQGAaWf_QEtMAAAAAAA8S0wAgGln", <--координаты
"BCCBCCBCCBCC"<--уровни
);
Спасибо.
Здравствуйте.
Могу ли я как-нибудь перехватить клик по одной из вершин полигона в режиме рисования.
В моем случае я хотел бы по клику на первую вершину многоугольника автоматически оставнавливать режим рисования полигона БЕЗ контекстного меню с пунктом «Завершить».
Спасибо.
У меня на карте имееться несколько объектов, координаты которых подгружаються из базы данных. После подгрузки данных в цикле создаю объекты вот таким образом
switch(jsonData.geoZone[i].id_geo_zone){
polygon = new ymaps.Polygon([jsonData.geoZone[i].points])
//Событие двойной клик
polygon.events.add('dblclick', function (e) {
var pol = e.get('target');// Получение ссылки на объект, сгенерировавший событие (карта).
pol.editor.startDrawing();
console.log('Есть событие');
});
myMap.geoObjects.add(polygon);
Доброго времени суток,столкнулся со следующей задачей: есть какая то область(полигон) на карте и нужно вернуть координаты всех объектов внутри этого полигона,может подскажите как это можно сделать,заранее благодарю
Как сделать выделение произвольной области, как на domofond.ru? Хочется реализовать так же, не используя полигон. Понятно, что в конечном итоге получится всё-равно полигон из очень маленьких отрезков. Как разделить эту кривую на отрезки и как определить координаты точек? В какую сторону копать?
Раньше в верси api 1 был метод isDrawing().
Сейчас я не смог найти как определить находится ли определенный полигон в режиме редактирования или нет :(
Возможно был уже такой вопрос, но есть такая задача:
Пользователь создает произвольный полигон, сайт получает его координаты и выводит объекты, находящиеся в нем, возможно, отбирая по дополнительным критериям.
Вопрос: как это лучше реализовать? Выбирать объекты полностью на стороне сервера? Но как определать нахождение точки в абсолютно любой формы полигоне?
Или скажем на стороне сервера искать объеты, находящиеся в прямоугольнике (по крайним точкам), а затем отсекать методом api лишние, не входящие в эту произвольной формы фигуру? Кстати, есть вообще такой метод для полигона, который определяет положение точки в нем? И для этого сначала нужно отобразить все объекты на карте, а потом отсечь лишние?
Подскажите пожалуйста как можно определить в каком полигоне находится найденный адрес.
Добавил я на карту скажем несколько зон (полигонов) ищу определенный адрес нахожу ту или иную точку, а вот как мне вывести информацию о полигоне в котором находится данный адрес никак не соображу. Может кто сталкивался ?
Добрый день.
Геометрию полигона создаю на основе строки закодированных в Base64 координат.
Полигон отрисовывается. Не происходит заливка. Использую режим coordorder=longlat.
С теми же опциями, если геометрию задать через координаты, заливка производится.
В чем может быть проблемма ?
Вопрос в следующем — от сервера приходит ответ с объектами-полигонами. Хочу получить его Bound box не добавляю перед этим на карту. Есть ли такая возможность в принципе?
Перекопал документацию, не нашёл ничего похожего. Методу getBounds у геометрии нужно сначала непосредственное нанесение геобъекта на карту, а вот этого шага как раз таки и хочется избежать.
Видела похожие темы, но конкретного ответа не нашла.
Возможно ли средаствами API выделять наборы домов разными цветами, разделив их по какому-либо признаку.
Т.е. есть, наппример, результаты поиска, 1-ю часть которых нужно показывать желтым цветом, 2-ю - зеленым, 3-ю - красным?
Позволяет ли API вообще задавать цвет домов, а не меток?