Выделение / наведение курсора сломано полигонами в файле KMZ Google Maps v3 - PullRequest
1 голос
/ 22 марта 2011

Я пытаюсь настроить стили выделения / наведения / наведения мыши на метку KMZ с помощью Google Maps v3. Когда я открываю файл KMZ в Google Планета Земля, соответствующая область при наведении изменится на стиль highlightPlacemark, как и предполагалось. Но когда я загружаю этот KMZ в объект Google Map, стиль никогда не меняется.

Вот как выглядят стили:

<Style id="highlightPlacemark">
    <LineStyle>
        <color>ff000000</color>
    </LineStyle>
    <PolyStyle>
        <color>a60000ff</color>
    </PolyStyle>
</Style>
<StyleMap id="exampleStyleMap">
    <Pair>
        <key>normal</key>
        <styleUrl>#normalPlacemark</styleUrl>
    </Pair>
    <Pair>
        <key>highlight</key>
        <styleUrl>#highlightPlacemark</styleUrl>
    </Pair>
</StyleMap>
<Style id="normalPlacemark">
    <LineStyle>
        <color>ff000000</color>
    </LineStyle>
    <PolyStyle>
        <color>a6ffffff</color>
    </PolyStyle>
</Style>

Вот как выглядит метка:

<Placemark id="1">
    <name>Test</name>
    <Snippet maxLines="0"></Snippet>
    <styleUrl>#exampleStyleMap</styleUrl>
    <Polygon>
        <extrude>1</extrude>
        <tessellate>1</tessellate>
        <outerBoundaryIs>
            <LinearRing>
                <coordinates>
                    ...lots of coordinates here...
                </coordinates>
            </LinearRing>
        </outerBoundaryIs>
    </Polygon>
</Placemark>

Работает ли эта функция только в Google Планета Земля или существует ли обходной путь, чтобы она работала в Google Maps v3? Единственный способ, о котором я могу думать, - это создавать отдельные объекты Polygon и предоставлять им координаты по отдельности. Это позволяет вам использовать событие mouseover класса Polygon. Я бы предпочел, чтобы все мои полигоны были в одном файле ...

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 23 августа 2012

Я понимаю, что это очень старый вопрос, но подумал, что это может кому-то помочь.Не все теги KML поддерживаются в Картах Google.(Большинство, если не все, поддерживаются в Google Планета Земля.) Например:

<StyleMap></StyleMap>

- это , а не поддерживается в Картах Google, но работает на Земле.Вот почему это не работает.

В настоящее время я ищу решение для наведения состояния для полигонов KML в Картах Google.(Без дополнительных обходных путей javascript или грязных дубликатов.) Но это не главный приоритет, поэтому, если я не смогу найти решение в ближайшее время, я пока просто обойдусь без этой функции.

0 голосов
/ 29 марта 2011

Об этой проблеме сообщается на трекере проблем Google Maps API как № 131, видимый здесь . Проблема была закрыта без комментариев / причин, кроме "WontFix".

KmlLayers отображаются в виде плиток, поэтому я думаю, что это усложняет использование событий наведения мыши.

...