从 KML 样式哈希获取颜色 tmcw/togeojson

Getting colors from KML style hashes tmcw/togeojson

我正在使用 tmcw/togeojson 方法解析 KML 文件并抓取数据以保存到数据库中。 kml 函数似乎 return 具有 styleUrl 和 styleMapHash 的属性对象,使用在 KML 文件中找到的 Google StyleMap id。但是,它不会 return 颜色的实际值或标记的图标。

例如,这是我来自 kml 函数的一个点 return:

{
  name: 'Idaho Springs',
  styleUrl: '#__managed_style_0AB600160E1B41A3CC31',
  styleHash: undefined,
  styleMapHash: {
    normal: '#__managed_style_1B90B87D5A1B41A3CC31',
    highlight: '#__managed_style_20709421461B41A3CC31'
  }
}

是否有一种简单的方法来获取这些值并检索实际的颜色和图标信息?

tmcw/togeojson 库仅附加样式部分中的样式。这适用于通过 Google 地球桌面版下载的 KML,但不适用于 Google 地球网络浏览器版。在网络浏览器版本中,样式保存在 'gx:CascadingStyle' 部分,而不是 tmcw/togeojson 需要加载的样式部分。

为了解决这个问题,我创建了自己的 XML 解析器并获取了我需要的所有信息,取消了 tmcw/togeojson。这也让我可以将它们保存在您可以在 Google 地球中创建的文件中。