Google maps api 3 Google Earth.kml文件中的图标问题

Google maps api 3 Google Earth.kml文件中的图标问题,google-maps-api-3,kml,Google Maps Api 3,Kml,我想这是一种我“见树不见林”的虫子。我已经在这方面工作了好几天,但我似乎无法找出问题所在。不应该那么难;但是我认为我只是太接近代码(或者太不熟悉.kml)而看不到它 我有这个.kml文件,我在下面发布了它。我已经消除了大部分,所以它只显示一个有问题的地址。(文件最初有十几个或更多带有颜色的正方形的“IconStyle”标记。) 我的.kml文件将在谷歌地球上找到一个沃尔玛的地址。我希望显示的图标位于此URL(文件中): (这是一个绿色圆圈内的正方形。) 但是,当我运行下面的代码时,显示的是一个红

我想这是一种我“见树不见林”的虫子。我已经在这方面工作了好几天,但我似乎无法找出问题所在。不应该那么难;但是我认为我只是太接近代码(或者太不熟悉.kml)而看不到它

我有这个.kml文件,我在下面发布了它。我已经消除了大部分,所以它只显示一个有问题的地址。(文件最初有十几个或更多带有颜色的正方形的“IconStyle”标记。)

我的.kml文件将在谷歌地球上找到一个沃尔玛的地址。我希望显示的图标位于此URL(文件中): (这是一个绿色圆圈内的正方形。)

但是,当我运行下面的代码时,显示的是一个红方块!小心的眼睛将不胜感激!谢谢

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1/">
<Document>
<name>test.kml</name>
<description>testIcon</description>
<LookAt>
<longitude>-111.5863733742289</longitude>
<latitude>39.55637809106051</latitude>
<altitude>0</altitude>
<range>610178.2115040587</range>
<tilt>-1.037184070538429e-013</tilt>
<heading>0.5510762374861048</heading>
</LookAt>
<StyleMap id="te">
<Pair>
<key>normal</key>
<styleUrl>#te1</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#te2</styleUrl>
</Pair>
</StyleMap>
<StyleMap id="fac">
<Pair>
<key>normal</key>
<styleUrl>#fac1</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#fac2</styleUrl>
</Pair>
</StyleMap>
<Style id="te1">
<IconStyle>
<color>ff87ff66</color>
<scale>0.8</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal4/icon56.png</href>
</Icon>
</IconStyle>
<LabelStyle>
<scale>0</scale>
</LabelStyle>
</Style>
<Style id="te2">
<IconStyle>
<color>8887ff66</color>
<scale>1.2</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal4/icon56.png</href>
</Icon>
</IconStyle>
</Style>
<Style id="fac1">
<IconStyle>
<scale>1.0</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal4/icon18.png</href>
</Icon>
</IconStyle>
<LabelStyle>
<scale>0</scale>
</LabelStyle>
</Style>
<Style id="fac2">
<IconStyle>
<color>66ffffff</color>
<scale>1.3</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal4/icon18.png</href>
</Icon>
</IconStyle>
</Style>
<Placemark>
<name>Walmart</name>
<address>1710 E Skyline Dr, South Ogden, UT 84405</address>
<styleUrl>#te</styleUrl>
<description><![CDATA[<div>Some Text</div>]]></description>
<styleUrl>#fac</styleUrl>
</Placemark>
</Document>
</kml>

test.kml
睾丸镜
-111.5863733742289
39.55637809106051
0
610178.2115040587
-1.037184070538429e-013
0.5510762374861048
正常的
#te1
突出
#二氧化钛
正常的
#fac1
突出
#fac2
ff87ff66
0.8
http://maps.google.com/mapfiles/kml/pal4/icon56.png
0
8887ff66
1.2
http://maps.google.com/mapfiles/kml/pal4/icon56.png
1
http://maps.google.com/mapfiles/kml/pal4/icon18.png
0
66ffffff
1.3
http://maps.google.com/mapfiles/kml/pal4/icon18.png
沃尔玛
美国犹他州南奥格登市1710 E天际线Dr,邮编84405
#te
一些文本]]>
#工厂

这是Google Earth中已知的未记录功能。带有URL的谷歌地图图标

http://maps.google.com/mapfiles/kml/pal*/icon**.png
自动重定向到标准的Google Earth图标之一。这已记录在案(注2)

因此,根据您的示例,图标: 被重定向到 带有红色填充颜色。
源URL:

这个网址: 重新映射到:
源URL:

同样地, 重新映射到:
源URL:


如果您选择的图标的URL不是maps.google.com,那么它将按原样显示,因此只有以下解决方法之一:1)选择一个标准google Earth图标(),2)从第三方网站(不是maps.google.com/mapfiles/kml/pal**)查找图标,或3)在本地复制外部URL上的图像,并引用本地副本或将其复制到服务器。

注意,Placemark中有两个styleUrl元素,对于KML无效(每个Placemark只允许一个styleUrl元素)--非常感谢!我不知道我自己什么时候能想到这一点。谢谢你解释得这么透彻;并列出这些选项。我把图像放在我们的服务器上,带有它的URL,然后它就在谷歌地球上启动了!再次感谢!我不知道谷歌为什么这么做,但当我很久以前看到这一点时,我花了一段时间才弄清楚到底发生了什么。一个以黑色为中心的正方形变成了一个红色的正方形——真奇怪。