我正在创建一个 Google 地球之旅,我真的很希望能够进行这种互动,以便用户可以选择他们要去的地方。
我在想我可以将每个“场景”创建为一个单独的游览,每个游览都以一个决定结束(很可能是通过一个带有气球的地标,其中包含一个问题和每个可能答案的链接)。
但是,我很难找到像这样加载下一个巡回赛的方法。每个游览都将以 KMZ 格式提供,如果应该从现有游览中或从 Google 地球 API 中的外部 eventListener 加载新游览,我持开放态度。
任何帮助或指点将不胜感激。
戴夫
我正在创建一个 Google 地球之旅,我真的很希望能够进行这种互动,以便用户可以选择他们要去的地方。
我在想我可以将每个“场景”创建为一个单独的游览,每个游览都以一个决定结束(很可能是通过一个带有气球的地标,其中包含一个问题和每个可能答案的链接)。
但是,我很难找到像这样加载下一个巡回赛的方法。每个游览都将以 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>');
我可能错过了一些东西,但这应该会让你朝着正确的方向前进