在断开连接的系统中使用web样式图标的KML层

210
3.
跳到解决方案
11-30-2022 04:51 am
标签(2)
TroyFoster
通过
偶然的因素

所以一位同事给了我一个kml文件,让我在断开连接的系统中显示,这个kml文件指的是网络图标中的符号。

所以我修改了样本https://github.com/Esri/arcgis-runtime-samples-qt/tree/main/ArcGISRuntimeSDKQt_CppSamples/Layers/Dis..。并将KML作为要加载的本地文件。

在我断开连接的系统中,图标最终不是正确的,只是一个红色的x。我知道使用的符号将是相当有限的,我应该能够在我的系统中的某个地方预缓存它们。

是否有某种配置映射的方法,如果它正在寻找某个weburl来实际加载某个本地文件?

这是运行时Qt 100.14,

样品图片:

troyfoster_0 - 1669812467490. - png

简化的KML代码片段:

<?xml version="1.0" encoding="UTF-8"?>  <文档> <名称>foo <文件夹> <名称>foo Points   Foo 你好Esri !]]>  1980-01-01T00:01:01Z  #fooPoint  -70.000000,30.0000000,0.00000000 absolute     

0荣誉
1解决方案

接受的解决方案
JamesBallard1
通过 Esri贡献者
Esri贡献者

@TroyFoster.首先,很抱歉这么晚才给你回复。我们一直在忙着准备我们的第一个Qt 6版本,它很快就会到来。

我看了你的代码和情况,我不知道是否有任何方法将这些在线url映射到本地缓存。然而,我确实发现,使用100.14,一旦我下载了文件,我就能够在我的mac上用本地路径加载它们。

见下文。

屏幕截图2022-12-12下午1:55.03。png

如果对你有用请告诉我。

在原帖子中查看解决方案

0荣誉
3回复
TroyFoster
通过
偶然的因素

在此基础上,当我遍历kml节点时,“foo Points”文件夹节点,其样式最终在kml加载时为nullptr。当我遍历到placemark节点时,我可以看到placemark的样式是iconStyle,但更改图标的url似乎并不影响符号的绘制。

0荣誉
JamesBallard1
通过 Esri贡献者
Esri贡献者

@TroyFoster.首先,很抱歉这么晚才给你回复。我们一直在忙着准备我们的第一个Qt 6版本,它很快就会到来。

我看了你的代码和情况,我不知道是否有任何方法将这些在线url映射到本地缓存。然而,我确实发现,使用100.14,一旦我下载了文件,我就能够在我的mac上用本地路径加载它们。

见下文。

屏幕截图2022-12-12下午1:55.03。png

如果对你有用请告诉我。

0荣誉
TroyFoster
通过
偶然的因素

我认为这就是我最终要做的,有图标png文件下载本地,并有一个sed脚本做搜索和替换的网页地址与本地路径,然后有地图加载在修改kml文件。