Загрузка локального файла .kml с помощью карт Google?

Я создал программу hello world для загрузки локального файла kml (заимствованного из документации Google):

var ctaLayer = new google.maps.KmlLayer("http://localhost:8080/kml/cta.kml");

Это не работает (ничего не загружается).

Однако, когда я меняю эту строку на:

  var ctaLayer = new google.maps.KmlLayer("http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml");

, она загружается правильно. Оба файла kml идентичны. Что мне нужно сделать, чтобы он загрузился, когда я обслуживаю его сам? (Я пробовал как абсолютные, так и относительные пути, и я знаю пути Я использую правильные ...)

Также я добавил правильный тип mime в файл конфигурации моего сервера приложений:

<mime-mapping>
    <extension>kml</extension>
<mime-type>application/vnd.google-earth.kml+xml</mime-type>
</mime-mapping>
<mime-mapping>
    <extension>kmz</extension>
    <mime-type>application/vnd.google-earth.kmz</mime-type>
</mime-mapping>

Но он по-прежнему не загружается.

Я нашел это в docs Google ]:

API Карт Google поддерживает форматы данных KML и GeoRSS для отображения географической информации. Эти форматы данных отображаются на карте с помощью объекта KmlLayer, конструктор которого принимает URL-адрес общедоступного файла KML или GeoRSS.

Итак, я предполагаю, что то, что я пытаюсь сделать, невозможно без обслуживания kml с общедоступного URL ... если кто-то не докажет обратное

51
задан dassouki 23 September 2010 в 01:45
поделиться

1 ответ

KML-файл недоступен, так как он находится на вашем локальном компьютере, и Google не может получить к нему доступ, поскольку не знает, как добраться до localhost: 8080

55
ответ дан 7 November 2019 в 10:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: