带有自定义图标的KML中的点突然无法在KMLLayer中显示(但是线串可以)

时间:2012-06-21 13:53:37

标签: google-maps-api-3 kml google-maps-markers

此代码在很短的时间内完美运行。 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)&lt;br /&gt;Very small carpark only accessible travelling north.&lt;br /&gt;&lt;a href=&quot;http://www.trailhunger.com/junction/820&quot;&gt;Junction Information&lt;/a&gt;</description>
        <styleUrl>#start</styleUrl>
        <Point>
            <coordinates>-123.2749314141,49.3669179082,54.93</coordinates>
        </Point>
    </Placemark>

1 个答案:

答案 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提供的。