2

当使用包含字段类型为int64/的消息的 protobuf 模式sint64并尝试使用自定义渲染器插件将其可视化时,传递给渲染器插件的解码数据包含类型字段number而不是Long来自https://github.com/ dcodeIO/Long.js/。我已经能够通过修补在我的本地 web 应用程序中解决这个GeoJsonDataStoreHelper.js问题

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

在不更改可视化库代码的情况下,我可以做些什么来解决这个问题?否则在 OLP 上渲染将不起作用。

4

2 回答 2

2

此时,您可以通过直接修改 geojson-datasource 代码来临时修复该问题。我们正在努力在我们的 geojson 包中正确支持 int64。

于 2018-09-10T19:16:33.690 回答
0

它不能直接在 GeoJSON 插件中使用,但在 MapUtils 中使用,该 MapUtils 会针对某些特定用例传递给该插件。基本上在渲染器插件中,mapUtils 可用作 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

于 2018-08-29T18:42:01.907 回答