Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 向KML文件中添加静态图例无效_Html_Kml - Fatal编程技术网

Html 向KML文件中添加静态图例无效

Html 向KML文件中添加静态图例无效,html,kml,Html,Kml,我已创建了一个地图,可在此处找到: 我使用shp2kml将我的shapefile转换为KML层。 我想为最后五个KML图层添加静态图例(另存为PNG),这样当用户检查特定图层时,静态图例就会显示在地图上。我尝试添加屏幕覆盖,但仍然无法看到图例。 下面显示了我添加到导出KML文件中的内容。我在样式化代码之后编写了ScreenOverlay代码。我提到了以下链接,但它们没有用处: companys.shp BF004A4A1.0https://drive.google.com/uc?id=0B79

我已创建了一个地图,可在此处找到:

我使用shp2kml将我的shapefile转换为KML层。 我想为最后五个KML图层添加静态图例(另存为PNG),这样当用户检查特定图层时,静态图例就会显示在地图上。我尝试添加屏幕覆盖,但仍然无法看到图例。 下面显示了我添加到导出KML文件中的内容。我在样式化代码之后编写了ScreenOverlay代码。我提到了以下链接,但它们没有用处:

companys.shp
BF004A4A1.0https://drive.google.com/uc?id=0B79b02nBK5vkVnRLalEtQk5LVkE0$[说明]FFFFFFFF
FFFF00001FFFCA95
BF006A6A1.0https://drive.google.com/uc?id=0B79b02nBK5vkTG5LWjF4anBkeW80$[说明]FFFFFFFF
FF00001
FFCA95
BF007F7F1.0https://drive.google.com/uc?id=0B79b02nBK5vkaG9EM1VfcVdEM280$[说明]
FFFFFFFF
FF00001
FFCA95
BF0095951.0https://drive.google.com/uc?id=0B79b02nBK5vkSWpNejFoZU9sdnM0$[说明]
FFFFFFFF
FF00001
FFCA95
BF00ABAB1.0https://drive.google.com/uc?id=0B79b02nBK5vkZWFTa2ZXOHMzSmc0$[说明]
FFFFFFFFFF00001
FFCA95
BF00C01.0https://drive.google.com/uc?id=0B79b02nBK5vkRW83UHFLbElVVk00$[说明]
FFFFFFFF
FF00001
FFCA95
BF00E11.0
https://drive.google.com/uc?id=0B79b02nBK5vkd2FoSkM4X2hSRDA0$[说明]
FFFFFFFF
FF00001
FFFFCA95特性000
出口
https://drive.google.com/open?id=0BxwnqYr_qb1DbzdQaFktbzF3WGs
............ ...... ............ 
...... ............ 

主要问题是图像的URL指向HTML跳转页,而不是图像本身

在启用调试的情况下获取此URL会将内容类型显示为text/html而不是image/png。Google Drive、Dropbox等提供html页面的URL,这些页面可以内联和/或链接到媒体

从这个URL,您需要获得图像本身的URL。在此URL中,用鼠标右键单击图像并选择“复制图像URL”或“在新选项卡中打开图像”(取决于您使用的web浏览器)

将目标屏幕覆盖图像更改为该URL

此外,KML的结构无效

例如,
元素必须位于
。此外,元素外似乎有一个无效的
标记

KML的结构应如下所示:

<kml xmlns="http://www.opengis.net/kml/2.2">
 <Document>
  <Placemark>...</Placemark>
  <ScreenOverlay>..</ScreenOverlay>
 </Document>
</kml>

...
..

您可以使用来验证KML。同样,通过使用.XML文件扩展名重命名KML并将其拖动到web浏览器上,您可以轻松验证KML是否是格式良好的XML文件(例如,匹配标记等)。

主要问题是图像的URL指向HTML跳转页,而不是图像本身

在启用调试的情况下获取此URL会将内容类型显示为text/html而不是image/png。Google Drive、Dropbox等提供html页面的URL,这些页面可以内联和/或链接到媒体

从这个URL,您需要获得图像本身的URL。在此URL中,用鼠标右键单击图像并选择“复制图像URL”或“在新选项卡中打开图像”(取决于您使用的web浏览器)

将目标屏幕覆盖图像更改为该URL

此外,KML的结构无效

例如,
元素必须位于
。此外,元素外似乎有一个无效的
标记

KML的结构应如下所示:

<kml xmlns="http://www.opengis.net/kml/2.2">
 <Document>
  <Placemark>...</Placemark>
  <ScreenOverlay>..</ScreenOverlay>
 </Document>
</kml>

...
..

您可以使用来验证KML。同样,通过使用.XML文件扩展名重命名KML并将其拖动到web浏览器上,您可以轻松验证KML是否是格式良好的XML文件(例如,匹配标记等)。

代码
位于
我应该指定我使用shp2kml应用程序创建KML层,因此KML层没有
,而是有
您的意思是
必须在
内,而
内吗?我有几个
标签必须在标签内。。。上面粘贴的示例显示在结束标记之前。感谢您指出这一点。把
放在
后面是我的错误。我已经编辑了我的帖子。
我应该指定我使用shp2kml应用程序创建KML层,因此KML层没有
,而是有
您的意思是
必须在
内,而
内吗?我有几个
标签必须在标签内。。。上面粘贴的示例显示在结束标记之前。感谢您指出这一点。把
放在
后面是我的错误。我已经编辑了我的帖子。