问题标签 [geoxml3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
398 浏览

javascript - 在 kml URL 数组上使用 geoxml3 解析器自定义标记图标

我们可以学习如何为使用 geoxml3 解析的 kml 文件自定义标记图标(来自 SO 上这个问题的答案)。

代码:

但是,我想通过将一组 kml URL 传递给 geoxml3 解析器来使我的代码在解析多个 kml 文件时更高效。下面是一个使用 kml 文件数组和一个解析器调用的示例:

这会将每个解析的 kml 文件的所有选项设置为相同。问题:

(1) 以这种方式使用 geoxml3 解析器将创建一个 docs[] 数组,这样我就可以使用myParser.docs[0]and访问每个 kml 文件的解析结果myParser.docs[1],对吗?这就是我正在寻找的“效率”。

(2)如何将每个解析的kml文件的标记图标唯一设置为具有不同属性(例如大小)的不同唯一图标?

0 投票
1 回答
298 浏览

javascript - javascript 范围错误与 geoxml3 afterParse 回调

我在 Object.useData [as afterParse] 处收到“Uncaught TypeError: Cannot read property 'placemarks' of undefined”

这是一个简化的片段:

我究竟做错了什么?

0 投票
1 回答
237 浏览

javascript - markerclusterer 覆盖自定义的单个 geoxml3 标记图标

我已经成功地为 geoxml3 解析器自定义了标记图标,但是,引入 markerclustererplus 会覆盖自定义的单个图标。我找到了有关更改群集图标的信息,但没有找到有关 markerclustererplus 使用的单个图标的信息。

当单击标记时,我也失去了显示信息窗口(?)的单击功能。我尝试添加一个单击侦听器,但它不会产生与 geoxml3 产生的默认行为相同的弹出结果。

工作小提琴:http://jsfiddle.net/BartmanEH/z7bfmyo2/

(1) 如何自定义markerclustererplus个人图标?编辑:我将图标自定义移动到为 markerclusterer 的数组创建标记的位置,这似乎自定义了单个标记图标,但是,geoxml3 解析中有残留标记我认为我需要防止在第一个显示案子?

̶(̶2̶)̶ ̶I̶s̶ ̶t̶h̶e̶r̶e̶ ̶a̶ ̶w̶a̶y̶ ̶t̶o̶ ̶c̶r̶e̶a̶t̶e̶ ̶t̶h̶e̶ ̶m̶a̶r̶k̶e̶r̶c̶l̶u̶s̶t̶e̶r̶e̶r̶p̶l̶u̶s̶ ̶a̶r̶r̶a̶y̶ ̶w̶i̶t̶h̶o̶u̶t̶ ̶u̶s̶i̶n̶g̶ ̶a̶ ̶c̶u̶s̶t̶o̶m̶ ̶c̶r̶e̶a̶t̶e̶M̶a̶r̶k̶e̶r̶ ̶f̶u̶n̶c̶t̶i̶o̶n̶ ̶i̶n̶ ̶g̶e̶o̶x̶m̶l̶3̶ ̶p̶a̶r̶s̶e̶r̶?̶ edit: I have figured this out by creating an array of the markers and using the markerclusterer object's .addMarkers method. Fiddle 和 Snippet 现在编辑为使用 markerclustererplus。

0 投票
1 回答
551 浏览

javascript - 为谷歌地图样式加载外部 JSON 文件会破坏后续地图操作

我从这篇关于 SO如何安全地为谷歌地图加载外部 JSON 样式文件并通过使用回调函数避免竞争条件的帖子中了解到。但是,添加该代码似乎破坏了地图上所有在添加该代码之前曾经可以工作的后续操作。

这是一个演示该问题的片段(注释掉 javascript 的第 6-39 行,取消注释第 41-49 行演示了除样式之外的所有其他工作)。

添加基于回调的 JSON 地图样式是如何破坏所有后续操作的?

0 投票
2 回答
136 浏览

geoxml3 - GeoXML3 侧边栏突出显示/KML 布局

我有 3 个基于此示例加载的 KML 文件(谢谢@geocodezip):http ://www.geocodezip.com/geoxml3_test/v3_geoxml3_multipleKML_test.html

当您将鼠标悬停在侧边栏中的一个 KML 文件名上时,在侧边栏上,当只有悬停的项目应突出显示时,不仅仅是该单个文件在地图上突出显示。

多个文件突出显示 错误

在此处输入图像描述

只有一个被突出显示 正确

在此处输入图像描述

我做了一些调查,发现如果它们在 Document\Folder\Folder 目录中具有相同数量的“地标”,则会突出显示不同的对。 在此处输入图像描述

在我有文件“ice.kml”和“rainier.kml”的 KML 文件中都有 1 个地标文件夹,而“preston.kml”有 2 个地标文件夹。

我使用的文件位于下面的 GitHub 链接中。

https://github.com/PieDevTest/KML-Website

编辑:

“function kmlHighlightPoly(pm) {”函数不应该采用 2 个参数吗?像“function kmlHighlightPoly(pm, mp) {”或任何你想命名的第二个变量?

上面生成的 HTML 似乎是(# of placemarkers, row #)。因此,如果我在“preston.kml”文件中添加了另一个地标,它将是“kmlHighlightPoly(3,2)”。这会很好,直到添加另一个具有 3 个地标的 kml 文件,然后它们都将一起突出显示,因为 kmlHighlightPoly 函数只查看第一个数字而不是行号。

0 投票
2 回答
210 浏览

geoxml3 - GeoXml3 在 DIV 标记中显示来自 KML 文件的自定义字段

当从地图或侧边栏中选择 KML 文件时,我正在尝试从 KML 文件中的自定义字段获取数据以显示在 div id=summary 部分中。我只是简单地复制了侧边栏 html 以创建一个摘要 html 部分,并希望 (Document/Folder/Placemark/summary.text) 中的 KML 内容显示在该 div 标记中。

我觉得这可能需要 geoxml3.js 文件中的一些函数覆盖。我在 geoxml3.js 中看到了一个包含以下内容的部分,似乎可能需要添加一些内容才能从 KML 文件中提取信息。

侧边栏旁边有汇总表列的网站: https ://s20.postimg.cc/6jjcrnke5/geo1.png

KML 文件 XML 视图: https ://s20.postimg.cc/4eyzqkqh9/geo2.png

0 投票
1 回答
394 浏览

javascript - 无法将 KML 文件渲染到谷歌地图中

我的谷歌地图代码

我得到的错误如下:

无法加载https://developers.google.com/kml/documentation/KML_Samples.kml:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问源“ http://localhost:8080 ”。

XML 解析错误无法检索https://developers.google.com/kml/documentation/KML_Samples.kml

任何人都知道我该如何解决这个问题?

0 投票
1 回答
228 浏览

google-maps-api-3 - 如何将已解析的 kml 文件中的扩展数据存储到变量中

我通过 geoxml3 解析一个 kml 文件,其中地标具有扩展数据字段。使用 kmz 分支中的 geoxml.js (尝试在此处遵循解决方案:Load kml extendeddata into variable with Geoxml3),我仍然发现 geoXmlDoc.gpolylines[0].title 有效,但 geoXmlDoc.gpolylines[0].vars.val未定义。地标格式供参考:

0 投票
0 回答
169 浏览

google-maps-api-3 - Geoxml3 显示无法检索 Kml 文件

我浏览了很多关于以下问题的答案。我想从本地检索 kml 文件,所以我使用了 geoxml

var myParser = new geoXML3.parser({ map: map });

这是我试图使工作的代码我的文件存储在此文件夹中这里

我无法获取要传入的文件路径,这是我尝试以不同方式进行的解决方案

他们都没有工作

这就是我每次得到的 错误

这是我的脚本这个

我已经尝试将 kml 文件放在同一个文件夹中,但它没有用

请给我一些建议让它工作

0 投票
0 回答
86 浏览

javascript - 在不阻塞 UI 的情况下加载大型 KML 图层

我正在使用谷歌地图 API 和 geoxml3 加载大型 KML 图层,通过parseKMLString.

使用此功能的相关问题示例。

在将这些文件渲染到地图时,UI 被冻结。由于这是使用谷歌地图,我不能将此代码放入 Worker 中,并且将其包装在 Promise 中不会改变任何东西。

相关代码块:

我也对加载这些文件和可能存在的其他库提供帮助的替代方案持开放态度。