Использование 64-битных целых чисел в пользовательских данных с помощью библиотеки визуализации данных HERE OLP

При использовании схемы protobuf, содержащей сообщения с полями таких типов, как int64/sint64 и пытаемся визуализировать, что с помощью специального плагина рендерера декодированные данные, которые передаются плагину рендерера, содержат поля с типом number вместо Long с https://github.com/dcodeIO/Long.js/. Я смог исправить это в моем локальном веб-приложении, исправив GeoJsonDataStoreHelper.js с

var Protobuf = require("protobufjs");
var Long = require("long");
Protobuf.util.Long = Long;
Protobuf.configure();

Могу ли я что-нибудь сделать, чтобы это исправить, не меняя код библиотеки визуализации? В противном случае рендеринг на OLP не будет работать.

2 ответа

В этот момент вы можете исправить это только временно, как вы это сделали, напрямую изменив код источника геоджон-данных. Мы работаем над правильной поддержкой int64 в нашем пакете geojson.

Он недоступен непосредственно в плагине GeoJSON, но используется в MapUtils, который передается этому плагину для некоторых конкретных случаев использования. В основном в плагине рендерера mapUtils доступен как 4-й аргумент для метода toGeoJSON https://developer.here.com/olp/documentation/data-visualization-library/dev_guide/pages/renderer-plugins.html

Ссылка на соответствующий класс https://developer.here.com/olp/documentation/data-visualization-library/api_reference_typedoc/modules/_here_geojson_datasource.maputils.html

Другие вопросы по тегам