此代码在很短的时间内完美运行。 KML和Javascript肯定没有改变,所以我想象我在KML中有一些问题,Google更新现在不喜欢。
我有一个Google Maps API实现,它只是将KML文件加载到地图上的KMLLayer中。现在,我得到的是Linestrings,而不是积分。
以下是KML的相关摘录。
<Style id="start">
<IconStyle>
<scale>0.0</scale>
<heading>0.0</heading>
<Icon>
<href>http://d1b3rm3ifop01h.cloudfront.net/mapicons/start-race-2.png</href>
<refreshInterval>0.0</refreshInterval>
<viewRefreshTime>0.0</viewRefreshTime>
<viewBoundScale>0.0</viewBoundScale>
</Icon>
</IconStyle>
</Style>
...
<Placemark>
<name>Baden Powell Horseshoe Bay Trailhead</name>
<description>Elevation: 54.9 m (180.2 ft)<br />Very small carpark only accessible travelling north.<br /><a href="http://www.trailhunger.com/junction/820">Junction Information</a></description>
<styleUrl>#start</styleUrl>
<Point>
<coordinates>-123.2749314141,49.3669179082,54.93</coordinates>
</Point>
</Placemark>
答案 0 :(得分:1)
问题是scale元素设置为0.0,Google最近更改了他们的Google Maps KML解析器以支持scale元素。将其设置为1.0会使图标显示。
0.0是我正在使用的de.micromata.opengis.kml
库的默认值。
下一个问题是图标出现在错误的位置。这是因为我需要指定hotSpot元素。
这个答案是由我提出的Google Maps API issue上的geocodezip@gmail.com提供的。