Как я могу использовать изображение для наложения всей земли в Google Планета Земля?
-
22-07-2019 - |
Вопрос
Я пытаюсь наложить карту на всю землю в Google Планета Земля.Есть ли определенный размер, который должен быть у изображения для этого?
Решение
Вы можете создавать изображения в Google Планета Земля, создав файл KML.В файле KML есть GroundOverlay
тег, который вы можете использовать для достижения своей цели следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Folder>
<name>Ground Overlays</name>
<description>Examples of ground overlays</description>
<GroundOverlay>
<name>Large-scale overlay on terrain</name>
<description>Overlay shows Mount Etna erupting
on July 13th, 2001.</description>
<Icon>
<href>http://code.google.com/apis/kml/documentation/etna.jpg</href>
</Icon>
<LatLonBox>
<north>37.91904192681665</north>
<south>37.46543388598137</south>
<east>15.35832653742206</east>
<west>14.60128369746704</west>
<rotation>-0.1556640799496235</rotation>
</LatLonBox>
</GroundOverlay>
</Folder>
</kml>
Вот несколько ссылок, которые помогут вам разобраться в файлах kml и наложениях изображений:
Учебное пособие по KML
Учебное пособие по KML - Наземные наложения
Создатель наложения изображений для Google Планета Земля - Блог Google Планета Земля
Другие советы
На самом деле, установка значения west на -180 и east на 180 не совсем работает, но значения -179.99 и 179.99 работают.Другие вопросы:
Я создал прозрачное изображение размером 1024x512, в котором "подсвечен" только один пиксель (256,128).Как вы можете видеть на http://test.barrycarter.info/gmap17.php, освещенный пиксель (недалеко от Уосау, Висконсин, США) размером примерно с близлежащие города-побратимы Миннеаполис и Сент-Пол.
Если вы увеличите масштаб после определенной точки, пиксель таинственным образом исчезнет.
Графики местности доступны для просмотра (я не могу найти способ отключить это ), поэтому, если вы нажмете на карту для увеличения, вы получите раздражающее всплывающее окно .Использование шкалы работает нормально.
Я также создал прозрачное изображение 2048x1024 с подсветкой в один пиксель. http://test.barrycarter.info/gmap18.php но даже то, что пиксель-это слишком большой.Более высокие разрешения также заметно замедляют загрузку.
С другой стороны, уделяя слишком много groundoverlays делает карте оказание мучительно медленно.Google, по-видимому, сам отображает карты KML, но я думаю, что основные элементы все еще находятся в "img src".
Святой грааль здесь в том, чтобы найти правильное сочетание разрешения и количества изображений:например, 64 изображения, каждое из которых покрывает 1/64 часть Земли.
Редактировать:Поскольку Google Maps показывает весь мир на уровне 2 и масштабирует до 20-го уровня, в конечном итоге вам потребуется 2 ^ 18 == 262144 пикселя в каждом направлении, при условии, что ваш пиксель равен размеру всей карты при 20-кратном увеличении.Это 4096 изображений по 4096х4096 каждое, или 68,7 гигапикселя.Конечно, если вам не нужно масштабирование 20-го уровня, вы можете значительно сократить его.