2012-08-14 3 views
0

J'ai exporté le fichier KML (ICBC.kml) du modèle 3D de google earth, et je veux charger le modèle 3D dans le plugin Google Earth, mais je ne peux pas obtenir le résultat, merci beaucoup pour votre suggestion.google earth charger le fichier KML a échoué

code javascript pour charger le fichier KML

// Create the placemark. 
var placemark = ge.createPlacemark(''); 
// Get the current view`enter code here` 
var myCamera = ge.getView().copyAsCamera(ge.ALTITUDE_RELATIVE_TO_GROUND); 

// Set new latitude and longitude values 
myCamera.setLatitude(30.55552076525944); 
myCamera.setLongitude(114.3344795151639); 
myCamera.setAltitude(500); 

// Placemark/Model/Location 
var loc = ge.createLocation(''); 
loc.setLatitude(myCamera.getLatitude()); 
loc.setLongitude(myCamera.getLongitude()); 


// Update the view in Google Earth 
ge.getView().setAbstractView(myCamera); 

var fso = new ActiveXObject("Scripting.FileSystemObject"); 

var f = fso.OpenTextFile("http://localhost/ICBC.kml",1,true); 

var kmlobject = ge.parseKml(f.ReadAll()); 
ge.getFeatures().appendChild(kmlobject); 
var la = ge.createLookAt(''); 
la.set(30.55552076525944, 114.3344795151639, 500, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 45, 900); 
ge.getView().setAbstractView(la); 

Répondre

2

Si vous avez le KML file, vous ne devriez pas utiliser parseKml, il est une meilleure pratique d'utiliser fetchKml, qui n'a pas besoin de la chaîne du Kml être passé, juste le URL du KML.

Dans votre cas, vous devez utiliser cette ligne:

var href = UrlOfKML; 

google.earth.fetchKml(googleEarthInstance, href, function(kmlObject) { 
     if (kmlObject) 
     ge.getFeatures().appendChild(kmlObject); 
}); 

Si vous avez plus de doutes sur les différences de fetchKml et parseKml vérifier ce lien: Importing KML - GE docs

+0

merci beaucoup – zhongjiejiang

+0

si cela fonctionne accepter la répondez aux futurs utilisateurs :) – Nuxy

Questions connexes