Как ни старайся, мне кажется, я не могу получить доступ к файлам kml из экземпляра плагина google-earth на моей общедоступной веб-странице. Используя всю справку Google для разработчиков, которую я могу найти и пробуя Fetchkml, а также kmlNetworkLink, безуспешно, я попытался подойти к этой проблеме пошагово и достиг следующего тупика:
Использование следующего кода JavaScript работает , когда я указываю на источник в kml на code.google.com:
</p>
<pre><code> google.load("earth", "1");
var ge;
function init() {
google.earth.createInstance('mapthreedee', initCB, failureCB);
}
function initCB(instance) {
ge = instance;
ge.getWindow().setVisibility(true);
ge.getNavigationControl().setVisibility(ge.VISIBILITY_SHOW);
var link = ge.createLink('');
var href = 'http://code.google.com/apis/earth/documentation/samples/kml_example.kml';
link.setHref(href);
var networkLink = ge.createNetworkLink('');
networkLink.set(link, true, true); // Sets the link, refreshVisibility, and flyToView
ge.getFeatures().appendChild(networkLink);
}
function failureCB(errorCode) {
alert("failure");
}
google.setOnLoadCallback(init);
</script>
Плагин Google-Earth приближается к Сан-Франциско. Однако, если я скачаю этот же исходный файл kml_example.kml с помощью Google Chrome, поместите нетронутый файл kml в пространство документов моего документа Google, получите соответствующий идентификатор для него и вставьте этот адрес в код JavaScript на моей веб-странице (без другие изменения в коде вообще), вот так:
</p>
<pre> google.load("earth", "1");
var ge;
function init() {
google.earth.createInstance('mapthreedee', initCB, failureCB);
}
function initCB(instance) {
ge = instance;
ge.getWindow().setVisibility(true);
ge.getNavigationControl().setVisibility(ge.VISIBILITY_SHOW);
var link = ge.createLink('');
var href = 'https://docs.google.com/open?id=0B3kCsTNlhwBaM2I5YTk0ZjEtOGVlNS00MGU4LTk5MTgtYTUyYzQ2Mzc2Mzhl';
link.setHref(href);
var networkLink = ge.createNetworkLink('');
networkLink.set(link, true, true); // Sets the link, refreshVisibility, and flyToView
ge.getFeatures().appendChild(networkLink);
}
function failureCB(errorCode) {
alert("failure");
}
google.setOnLoadCallback(init);
</script>
При загрузке страницы доступ к kml невозможен, хотя плагин google-earth по-прежнему загружается правильно. Я только иду к этим крайностям, потому что местоположение в кмз (в Норвегии), которое у меня есть в Google Docs, к которому я могу получить отличный доступ через Network Link в клиенте Google Планета Земля на моем ПК, не отображается в плагине Google Earth, когда Я пытаюсь получить к нему доступ, используя код, идентичный приведенному выше.
Кто-нибудь может указать мне правильное направление?
Эти веб-страницы: http://geoffreychaucernm.co.uk/offlineTEST_SITE_ghp/googlemaps/googleEarth_3.html и http://geoffreychaucernm.co.uk/offlineTEST_SITE_ghp/googlemaps/googleEarth_4.html
Сайт размещен на веб-сервере 1 и 1 Microsoft.