google.load("earth", "1");
var ge = null;

var loaded = false;

function initModel(){
    google.earth.createInstance("map3d", initCallback, failureCallback);
}

function initCallback(object){
    ge = object;
    ge.getWindow().setVisibility(true);
    var navControl = ge.getNavigationControl();
    navControl.setVisibility(ge.VISIBILITY_AUTO);  
    
    var url = 'http://www.cleancruising.com.au/docs/sketchup/' + vShip + '.kml';
    google.earth.fetchKml(ge, url, finished);
}

function failureCallback(object){
}

function finished(object){
    if (!object) {
        return;
    }
    
    if (loaded) {
        ge.getFeatures().replaceChild(object, ge.getFeatures().getLastChild());
    }
    else {
        ge.getFeatures().appendChild(object);
    }
    
    loaded = true;
    
    var la = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
    la.setLatitude(ge.getFeatures().getLastChild().getAbstractView().getLatitude());
    la.setLongitude(ge.getFeatures().getLastChild().getAbstractView().getLongitude());
    la.setRange(ge.getFeatures().getLastChild().getAbstractView().getRange());
    la.setTilt(ge.getFeatures().getLastChild().getAbstractView().getTilt());
    la.setHeading(ge.getFeatures().getLastChild().getAbstractView().getHeading());
    
    ge.getView().setAbstractView(la);
}