У меня две похожие проблемы с картой Openlayers 3. Они оба относятся к обновлению / перерисовке карты, когда она не имеет фокуса; то есть когда мышь не находится над ней.
1) Я показываю контур страны, когда мышь находится над ней, но она становится прозрачной, когда мышь отключается. Однако, если страна находится на краю вида карты, и я перемещаю мышь за этот край карты, страна остается намеченной, потому что карта никогда не видит мышь над другой областью за пределами страны.
2) Когда я нажимаю на страну, она постоянно подсвечивается (т.е. слой становится видимым). У меня есть кнопка с карты, которая при нажатии сбрасывает все слои на прозрачные. Когда я нажимаю кнопку, ничего не происходит, пока я не переместил мышь назад по карте, и в этот момент изменение станет очевидным, и слои исчезнут.
Есть ли способ заставить карту обновиться, когда мышь не за это?
Я пробовал несколько вариантов: map.redraw()
, layer.redraw()
, source.refresh()
, map.refresh()
, layer.refresh()
, source.refresh()
, document.getElementById("map").focus()
и все, что я могу найти, предложил заставить карту переосмыслить sh, но ни одна из них не будет работать, пока мышь не наведет на карту.