Здравствуйте!
На карте есть несколько районов. При перемещении балуна хочу определять принадлежность к этому району. Принадлежность можно определять, только если район добавлен на карту. Как сделать чтобы все это работало так же хорошо, но только на карте районы были невидимые?
Первое, что приходит, заливать невидимой заливкой, но все равно районы остаются одноцветными... Как быть?
ymaps.ready(init);
function init() {
coords = [56.477670000000, 84.952930000000],
myMap = new ymaps.Map('map', {
center: coords,
zoom: 12
}),
myBalloon = new ymaps.Placemark(coords, {
balloonContentHeader: "объект"
}, {
draggable: "true",
preset: "twirl#greenStretchyIcon"
});
myPolygon = new ymaps.Polygon([
[
[56.50052, 84.9856],
[56.5021, 84.983],
[56.50061, 84.97991],
[56.49763, 84.98059],
[56.49487, 84.98051],
[56.49444, 84.99321],
[56.49249, 85.00302],
[56.49641, 85.00862],
[56.49958, 85.00121],
[56.50074, 84.99956],
[56.50251, 84.99877],
[56.50372, 84.99411],
[56.50052, 84.9856]
]
], {
fillColor: 'FFFFFF00',
strokeColor: '#ff0000',
strokeWidth: 1
});
myMap.geoObjects.add(myPolygon);
myBalloon.events.add(['dragend'], function () {
var coords = myBalloon.geometry.getCoordinates();
alert(myPolygon.geometry.contains(coords) ? 'Ранил!' : 'Мимо!');
$('#coordinates').val(coords);
});
myMap.geoObjects.add(myBalloon);
Еслирайоннакартунедобавить, апростосвязать, товозникаютошибки, т.е.
ymaps.ready(init);
function init() {
coords = [56.477670000000, 84.952930000000],
myMap = new ymaps.Map('map', {
center: coords,
zoom: 12
}),
myBalloon = new ymaps.Placemark(coords, {
balloonContentHeader: "объект"
}, {
draggable: "true",
preset: "twirl#greenStretchyIcon"
});
myPolygon = new ymaps.Polygon([
[
[56.50052, 84.9856],
[56.5021, 84.983],
[56.50061, 84.97991],
[56.49763, 84.98059],
[56.49487, 84.98051],
[56.49444, 84.99321],
[56.49249, 85.00302],
[56.49641, 85.00862],
[56.49958, 85.00121],
[56.50074, 84.99956],
[56.50251, 84.99877],
[56.50372, 84.99411],
[56.50052, 84.9856]
]
], {
fillColor: 'FFFFFF00',
strokeColor: '#ff0000',
strokeWidth: 1
});
//myMap.geoObjects.add(myPolygon);
myPolygon.options.setParent(myMap.options);
// вот эта строка не нравится скрипту
myPolygon.setMap(myMap);
myBalloon.events.add(['dragend'], function () {
var coords = myBalloon.geometry.getCoordinates();
alert(myPolygon.geometry.contains(coords) ? 'Ранил!' : 'Мимо!');
$('#coordinates').val(coords);
});
myMap.geoObjects.add(myBalloon);