2016-12-30 4 views
2

В настоящее время у меня есть функции на ol.source.Vector, которые я бы хотел найти, вычеркнув окно (MultiPolygon) на экране. Тем не менее, в настоящее время у меня есть эта функциональность, если я перехожу на следующий отображаемый мир (так называемый «вращение земного шара»), когда я нарисую свою коробку над одним и тем же набором визуализированных функций, я ничего не получаю.Поиск возможностей источника вектора в степени с wrapX

Пример кода:

var featureSource = new ol.source.Vector({ 
    url: '/ShinyService/feature/geoJson', 
    format: new ol.format.GeoJSON() 
}); 
var featureLayer = new ol.layer.Vector({ 
    source: featureSource 
}); 

var myMap = new ol.Map({ 
    layers: [ featureLayer], 
    view: new ol.View({ 
     minZoom: 3, 
     maxZoom: 10 
    }); 
}); 

//Later within interaction event (draw end) 
var boxExtent = box.getGeometry().getExtent(); 
vectorSource.forEachFeatureInExtent(boxExtent, function(feature){ 
    foundFeature.push(feature.getId()); 
}); 

В настоящее время я думал только «решение», чтобы это больше не позволить миру быть оказаны несколько раз, но я не думаю, что это вариант для требование, которое я пытаюсь выполнить.

настоящее время я использую OpenLayers v3.18.2

Любая помощь будет оценен по достоинству!

+0

Можно ли отправить код в плункер? –

+0

Я не смогу прислать какой-либо код на некоторое время (не имею его со мной), но я могу сделать все возможное, чтобы ответить на вопросы о проблемах, тем временем – BMamba2942

+0

Что делать, если вы повторно перенесли (или просто перевели) геометрию, когда вы прошли? Я говорю это, полагая, что ваш ящик куда-то нарисован. Что такое шинисервис. – GuitarStrum

ответ

1

Мне удалось выяснить мою проблему. Оказалось, что мне пришлось «обернуть» координаты моей степени, чтобы заставить ее работать правильно, когда они шли мимо границы от -180 до 180. Как только я это сделал, все работало.

Однако это похоже на то, что уже должно быть сделано в Openlayers, поэтому может быть что-то еще, чего я не могу потерять.

+0

Не могли бы вы сообщить мне, как вы обертываете пример с помощью примера кода – sumi