Порядок многоугольников можно установить, добавив элемент <gx:drawOrder>
(который является расширением Google Планета Земля KML ).
Обратите внимание, что документация (см. Ниже) определяет только LineStrings, но также работает для Lines, LinearRings и Polygons. Везде, где "LineStrings" упоминается ниже, просто замените его на линии, кольца и многоугольники. Поддержка drawOrder для Polygons недокументирована, но была зарегистрирована как проблема .
Документация KML:
<gx:drawOrder>
"Целое число значение, определяющее порядок рисования нескольких строк строки . LineStrings , нарисованный первым, может быть частично или полностью скрыто LineStrings с более поздним (или более высоким) порядком рисования. Этот элемент может потребоваться вместе с элементами <gx:outerColor>
и <gx:outerWidth>
в <LineStyle>
, когда двухцветные линии пересекают друг друга. "
В приведенном ниже примере красный многоугольник рисуется поверх синий многоугольник. Чтобы синий многоугольник рисовал поверх красного, измените его значение drawOrder на большее число.
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
<Document>
<Placemark>
<name>Red Polygon</name>
<description>gx:drawOrder=3</description>
<Style>
<LineStyle>
<color>ff000000</color>
</LineStyle>
<PolyStyle>
<color>ff0000ff</color>
</PolyStyle>
</Style>
<Polygon>
<gx:drawOrder>3</gx:drawOrder>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
14.456906,37.345497,0 14.949769,37.346531,0
14.960918,37.987563,0 14.45089,37.987521,0
14.456906,37.3455,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Blue Polygon</name>
<description>gx:drawOrder=2</description>
<Style>
<LineStyle>
<color>ff000000</color>
</LineStyle>
<PolyStyle>
<color>ffff0000</color>
</PolyStyle>
</Style>
<Polygon>
<gx:drawOrder>2</gx:drawOrder>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
14.83626,38.016863,0 14.835535,37.645589,0
15.47025,37.589266,0 15.470457,38.019158,0
14.83626,38.016862,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</Document>
</kml>