创建交互式谷歌地球之旅(多个游览)



我正在创建一个谷歌地球之旅,我真的很希望能够使它具有交互性,以便用户可以选择他们去的地方。

我想我可以将每个"场景"创建为一个单独的游览,每个都以一个决定结束(很可能通过一个带有气球的地标,其中包含一个问题和每个可能答案的链接)。

但是,我很难找到像这样加载下一个游览的方法。每个游览都将以 KMZ 格式提供,我愿意接受新游览是否应该从现有游览中加载,还是从 Google 地球 API 中的外部 eventListener 加载。

任何帮助或指示将不胜感激。

戴夫

我想

你已经弄清楚了如何使用插件玩巡回演出。如果没有,请检查此链接

然后,您需要在每次游览结束时打开一个气球,这是两个步骤。确定游览何时结束,然后打开一个带有一个或多个按钮的气球以选择下一次游览。

要确定游览是否已结束,请使用此功能

    function checkTour() {
      // checks to see if it can read the time of the tour
      // if it can it completes rest of function
     try {
            var duration = ge.getTourPlayer().getDuration();
            var cTime = ge.getTourPlayer().getCurrentTime();
     } catch (e) {
            alert('error');
            return false;
     }  
     if (duration == cTime) {
            // tour is over
            tourOverSoOpenBalloonFunction();
     } else {
            // wait 1 second and check again
            setTimeout('checkTour()',1000);
     }

}

然后使用此示例页面创建一个带有按钮的气球,该按钮执行一些 JavaScript 以加载下一个教程

本质上你会改变这条线

       balloon.setContentString(
    '<a href="#" onclick="alert('Running some JavaScript!');">Alert!</a>');

     balloon.setContentString(
    '<a href="#" onclick="loadTour('tour1');">Tour 1</a><br/><a href="#" onclick="loadTour('tour2');">Tour 2</a>');

我可能错过了一些东西,但这应该会让你朝着正确的方向前进

最新更新