У меня есть код в приложении, которое обращается к стилю выбранной функции в слое KML. Он работал в OpenLayers 3.1. Я обновился до версии 5.3.0, и она перестала работать. См. Соответствующие строки ниже:
var featStyle = feature.getStyleFunction().call(feature, map.getView().getResolution());
var strokeWidth = featStyle[0].getStroke().getWidth();
var strokeColor = featStyle[0].getStroke().getColor();
var fillColor = featStyle[0].getFill().getColor();
var fillOpacity = (Math.round(fillColor[3] * 100));
Линия:
var featStyle = feature.getStyleFunction().call(feature, map.getView().getResolution());
Выдает ошибку, видимую в консоли разработчика:
TypeError: o.getGeometry is not a function[Learn More] KML.js:943
a KML.js:943
myFunctionName file.php:5371
onclick file.php:1
Я не могу найти ничего в документации или примерах, которые показывают, как правильно получить доступ к данным стиля KML для данной функции (а не всего слоя / источника). Есть ли новый способ сделать это или я что-то пропустил?
Может ли это быть связано с этим ?: https://github.com/IGNF/geoportal-sdk/issues/2 Подключено к Google Translate, кажется, что-то говорится о том, что свойства стиля больше не хранятся внутри каждой функции, но, похоже, не говорится, где они хранятся ...
KML действителен и правильно отображается на карте. Я просто не могу больше найти способ получить доступ к данным стиля.
var featStyle = feature.getStyleFunction().call(map.getView().getResolution());
Функция должна передаваться только функциям стиля слоя. - person Mike   schedule 08.02.2019.call
, а не самой функцией стиля. Я только что протестировал регистрацию стилей функций из этой демонстрации openlayers.org/en/ v4.6.5 / examples / kml.htm В OL4 ему требуетсяfeature.getStyleFunction().call(feature, map.getView().getResolution());
, который также можно закодировать какfeature.getStyleFunction().bind(feature)(map.getView().getResolution());
Я перешел на полную сборку OL5, и теперь ему требуетсяfeature.getStyleFunction()(feature, map.getView().getResolution());
, поэтому кажется, что код больше не используетthis
, и функция должна передается в основную функцию. - person Mike   schedule 08.02.2019