Поддерживает ли Google Карты регионы KML?
Поддерживает ли Карты Google регионы KML, как в Google Планета Земля?
Google дает хорошее описание / руководство по регионам здесь:
https://developers.google.com/kml/documentation/regions
который упоминает Google Earth конкретно, но не Google Maps.
Согласно https://developers.google.com/kml/documentation/kmlelementsinmaps Карты Google поддерживают регионы KML, но https://developers.google.com/kml/documentation/mapsSupport не упоминает их явно.
Уровни масштабирования в файлах kml на картах Google также неоднозначны.
Я создал свой собственный тестовый файл KML (украденный почти дословно из Google):
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Flat Region</name>
<Region>
<LatLonAltBox>
<north>37.430419921875</north>
<south>37.41943359375</south>
<east>-122.080078125</east>
<west>-122.091064453125</west>
</LatLonAltBox>
<Lod>
<minLodPixels>128</minLodPixels>
</Lod>
</Region>
<GroundOverlay>
<name>Mountain View DOQQ</name>
<Icon>
<href>http://data.bcinfo3.barrycarter.info/graphpaper.gif</href>
</Icon>
<LatLonBox>
<north>37.430419921875</north>
<south>37.41943359375</south>
<east>-122.080078125</east>
<west>-122.091064453125</west>
</LatLonBox>
</GroundOverlay>
</Document>
</kml>
Вы можете видеть это здесь:
При уменьшении изображения изображение остается видимым (хотя и в виде белого квадрата), даже если на каждой стороне только несколько пикселей.
Означает ли настройка minLodPixels 128 в файле KML, что он должен перестать быть видимым, если он занимает менее 128 пикселей?
Если это так, подтвердит ли это, что Карты Google НЕ поддерживают регионы KML?
Или я что-то недопонимаю?
1 ответ
Я не могу дать вам законченное решение, но я пытался избежать переполнения моих точек, используя регионы в картах около года назад (задавал аналогичный вопрос по SO), и я понял, что KmlLayer не будет распознавать регионы и вместо этого просто загружать все, Единственная ссылка, которую я могу найти на это, это сообщения на форуме, например: http://code.google.com/p/gmaps-api-issues/issues/detail?id=3142
Тем не менее, в то время я понимал, что этого можно достичь с помощью API для добавления оверлеев и областей в javascript - я только что посмотрел и не могу найти хорошего примера этого (или какого-либо примера вообще).
Тем не менее, мне кажется, что довольно просто написать собственный оверлей и переопределить функцию рисования, чтобы учесть размер оверлея перед отображением / скрытием при увеличении карты: https://developers.google.com / карты / документы / JavaScript / наложения #Drawing
По какому пути я собираюсь пойти, когда мы реализуем некоторые функции, которые нам нужны, но не решаем, реализуем ли это непосредственно из KML. Что интересно, вы ссылаетесь на документацию, указывающую, что она поддерживается.