2015-01-21 4 views
1

Я пытаюсь изменить масштаб карты, чтобы соответствовать степени WMS слоя с использованием OpenLayers 3.0
Я нашел пример, но не работает для меня, не уверен, что если устарелаOpenLayers 3 прибудете слой степени

var extent = yourlayer.getSource().getExtent(); 
map.getView().fitExtent(extent, map.getSize()); 

console.log('Layer:' + yourlayer.getSource())
return Layer: [object Object]


нО

console.log('Layer:' + yourlayer.getSource().getExtent())
return Uncaught TypeError: undefined is not a function

документация говорят метод послойного имеют getExtend(), но это не работает ни.

console.log('Layer:' + yourlayer.getExtent())
return Layer: undefined

ответ

2

Убедитесь, что слой имеет протяженность установки и использования,

var extent = map.getView().calculateExtent(map.getSize()); 

Вместо,

var extent = yourlayer.getSource().getExtent(); 
+0

Если вы видите последнее окно я попробовать 'console.log ('Layer:' + yourlayer.getExtent()) 'но не работает для меня –

+0

Определили ли вы свой слой как глобальную константу. В противном случае вам придется использовать map.getLayers.getArray() [layerPosistionInArray] .getExtent() –

+0

var extent = yourlayer.getExtent(); Это не работает. (я использую Openlayers 3.17). Предоставление ошибки, что yourlayer.getExtent() не является функцией. Пожалуйста, помогите мне .. – Hyma

Смежные вопросы