Google Earthとkmlオブジェクトを表示するWebページを開発しています。 2つのフレーム、1つは地球+ kmlオブジェクト、もう1つは高度、緯度、経度のようなkmlオブジェクトの情報を表示することです...kmlモデルオブジェクトを格納するJavaScriptグローバル変数
私はkmlオブジェクトをロードし、その情報をページ。今、kmlオブジェクトをキーボードで制御するイベントをいくつか追加し、それを移動し、すべての変更を表示フレームに反映させたいと考えています。私fetchKmlが、私は私のobjectInfo.modelにKMLモデルを保存するとき
//Constructor for object ModelInfo
function ModelInfo(name) {
var me = this;
me.model = null;
me.name = name;
me.lon = 120.89250214028388;
me.lat = 22.17480037801846;
me.alt = 15.00;
me.heading = 0.0;
me.tilt = 0.0;
me.roll = 0.0;
me.kmlUrl = "";
me.ALTITUDE_MODE = ge.ALTITUDE_RELATIVE_TO_GROUND;
me.scaleX = 0.3;
me.scaleY = 0.3;
me.scaleZ = 0.3;
}
:
// Fetch a KML file and show it
function finished(object, objInfo) {
if (!object) {
// wrap alerts in API callbacks and event handlers
// in a setTimeout to prevent deadlock in some browsers
setTimeout(function() {
alert('Bad or null KML.');
}, 0);
return;
}
var modelPlacemark;
walkKmlDom(object, function() {
if (this.getType() == 'KmlPlacemark' && this.getGeometry()
&& this.getGeometry().getType() == 'KmlModel') {
modelPlacemark = this;
}
});
var model = modelPlacemark.getGeometry();
objInfo.model = model;
これは私が呼び出す方法です私は自分のオブジェクトを作成し、それを行うためには
fetchKml
shutter = new ModelInfo("Shutter"); //shutter is global variable
shutter.kmlUrl = 'http://120.125.80.113/kml/student/space_shuttle_23_20110812a/space_shuttle_23_20110812a_SP.kmz';
google.earth.fetchKml(ge, shutter.kmlUrl, function(obj) {
finished(obj, shutter);
});
しかし、問題はfetchKmlが終了した後、私はシャッターにアクセスしようとする、あります.MODEL、それは
だから私の質問はどのようにそれが起こったさ、ヌルされていない、常にnullですが、私は、関数内からshutter.model にアクセスするときには、終了しましたか? kmlオブジェクトをグローバル変数に格納して後でその属性を変更することはできますか?
おかげで、 ハンス