Bonjour
, je poursuis sur ma lancée et j'ai simplifié l'API Google Earth pour obtenir cette page avec deux boutons :

avec la déclaration de la clé (à obtenir auprès de Google) :
<script src="http://www.google.com/jsapi?key=ABQIxxxxxxxxxxxxxxxx"></script>
la déclaration de la carte :
1 2 3 4 5 6 7 8 9 10
| <script type="text/javascript">
google.load("earth", "1");
var ge;
function onLoad() {
google.earth.createInstance("map3d", initCB, failureCB);
} |
l'initialisation des différents layers (terrain, routes, bâtiments3D initiaux, limites, contrôles de navigation...etc) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| function initCB(object) {
ge = object;
ge.getWindow().setVisibility(true);
ge.getOptions().setMouseNavigationEnabled(true);
var layerRoot = ge.getLayerRoot();
layerRoot.enableLayerById(ge.LAYER_TERRAIN, true);
layerRoot.enableLayerById(ge.LAYER_ROADS, false);
layerRoot.enableLayerById(ge.LAYER_BUILDINGS, false);
layerRoot.enableLayerById(ge.LAYER_BORDERS, true);
ge.getOptions().setFlyToSpeed(.50);
ge.getNavigationControl().setVisibility(ge.VISIBILITY_HIDE);
ge.getOptions().setStatusBarVisibility(false);
ge.getOptions().setOverviewMapVisibility(false);
ge.getOptions().setScaleLegendVisibility(false);
ge.getOptions().setGridVisibility(false); |
le positionnement de la vue sur le site par :
1 2 3 4
| var la = ge.createLookAt('');
la.set(47.272237,-1.338813, 0, ge.ALTITUDE_RELATIVE_TO_GROUND,
-90, 30, 250); //180, 60, 500);
ge.getView().setAbstractView(la); |
ce peut être aussi par "Camera"
l'activation du fichier kmz du bâti conservé :
1 2 3 4 5 6 7 8 9 10 11
| function finished(object)
{
if (!object) {
alert('KML mal formé');
return;
}
ge.getFeatures().appendChild(object);
}
var kmlCons = 'http://3dcite.fr/google_earth/kmz/projbourg01/BourgCons.kmz';
google.earth.fetchKml(ge, kmlCons, finished); |
et ensuite ce qui m'intéresse, la fonction pour le bouton "voir le projet" :
1 2 3 4 5 6
| function addKmlProj() {
var urlProj = "http://3dcite.fr/google_earth/kmz/projbourg01/BourgProj.kmz";
google.earth.fetchKml(ge, urlProj, function(kmlObject) {
ge.getFeatures().appendChild(kmlObject);
});
} |
lié au bouton :
<input type="button" value="Voir projet" onclick="addKmlProj();"/>
celui-ci fonctionne correctement et fait apparaitre l'objet "projet"

Et là je cale pour le second bouton :
<input type="button" value="Effacer projet" onclick="supKmlProj();"/>
auquel je souhaiterais affecter la fonction :
1 2 3 4 5 6 7
| function supKmlProj() {
var ?????????????????????????
google.earth.fetchKml(ge, urlProj, function(kmlObject) {
ge.getFeatures().removeChild(kmlObject);??????????????
});
} |
ou quelquechose qui y ressemble....
pour faire disparaitre l'objet "projet". !
La page à ce jour est :
http://www.3dcite.fr/forums/essai_ge_01.html
Si quelqu'un voit une solution à cette colle sans doute trés simple.
Et merci encore pour ce site.
On en apprend tous les jours. Bruno
PS : juste une petite question pratique, ai-je mis ce message au bon endroit ? ou y aurait-il une rubrique plus adéquate pour l'API Google Earth !
Partager