2012-11-28 1 views
0

Je viens de commencer à apprendre à manipuler les fichiers KML. voici un problème que je ne sais pas comment surmonter .... J'ai créé un polygone et ajouté une description à afficher comme un ballon, mais il apparaît dès que Google Earth commence à travailler avant que le polygone puisse être vu. ce que je veux, c'est montrer le ballon d'une distance spécifique où le polygone apparaît (par exemple dans la distance de distance de l'élément LookAt). quelqu'un sait comment gérer cela? mon code suivant:retarder le composant ballon dans un code KML

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2" mlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"> 
    <LookAt> 
    <longitude>17.99514610290434</longitude> 
    <latitude>59.36293893395309</latitude> 
    <altitude>0</altitude> 
    <range>597.51212259908</range> 
    <tilt>52.34415598649959</tilt> 
    <heading>105.3974737169693</heading> 

</LookAt> 
<Placemark> 
    <name>Stadium</name> 

    <description> 
     <![CDATA[ 
     this is <b><i>Råsunda soccer stadium</i></b> 
     ]]> 
    </description> 
     <gx:balloonVisibility>1</gx:balloonVisibility> 


     <styleUrl>#msn_ylw-pushpin</styleUrl> 
    <Polygon> 
     <extrude>1</extrude> 
     <tessellate>1</tessellate> 
     <altitudeMode>absolute</altitudeMode> 
     <outerBoundaryIs> 
      <LinearRing> 
       <coordinates> 
        17.99514610290434,59.36293893395309,100 17.99651951950199,59.36209399425741,100 17.99752330705672,59.36252751885282,100 17.99613146514916,59.36335387902954,100 17.99514610290434,59.36293893395309,100 
       </coordinates> 
      </LinearRing> 
     </outerBoundaryIs> 
    </Polygon> 
</Placemark> 
</Document> 
</kml> 

Répondre

1

Normalement, vous pouvez sauter rendre le polygone jusqu'à ce que vous obtenez « fermer » assez comme défini par un élément Region qui est déterminé par le calcul lorsqu'une carte de zone donnée à un min ou max # des pixels.

En outre, la balise <gx:balloonVisibility> force l'affichage de la bulle de description lorsque le fichier KML est chargé, que la région soit active ou non. L'ajout direct d'une région dans le fichier KML affiche toujours la bulle contextuelle. Pour faire ce que vous voulez faire, vous devez envelopper le fichier KML avec un deuxième fichier KML avec un NetworkLink avec une région qui charge le fichier KML secondes seulement lorsque la région est active (alias assez proche) à quel moment la description est affiché avec le polygone.

<?xml version="1.0" encoding="utf-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2"> 
<Document> 

    <LookAt> 
     <longitude>17.99514610290434</longitude> 
     <latitude>59.36293893395309</latitude> 
     <altitude>0</altitude> 
     <heading>105.3974737169693</heading> 
     <tilt>52.34415598649959</tilt> 
     <range>597.51212259908</range> 
    </LookAt> 

    <NetworkLink> 
    <Region> 
     <LatLonAltBox> 
      <north>59.363792</north> 
      <south>59.361556</south> 
      <east>17.998029</east> 
      <west>17.994443</west> 
     </LatLonAltBox> 
     <Lod> 
      <minLodPixels>128</minLodPixels> 
      <maxLodPixels>-1</maxLodPixels> 
     </Lod> 
     </Region> 

     <Link> 
     <href>target.kml</href> 
     </Link>  
    </NetworkLink> 

</Document> 

</kml> 

Et fichier target.kml contient le KML d'origine que vous avez donné:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<kml xmlns="http://www.opengis.net/kml/2.2">  
<Placemark> 
    <name>Stadium</name> 
    ... 
</Placemark>  
</kml> 

Vous pouvez modifier la distance la fonction + ballon apparaît en ajustant les minLodPixels valeur et/ou la taille de la Région. À l'heure actuelle, la fonction s'affiche lorsque la zone définie par la zone entourant le polygone est d'au moins 128 pixels sur l'écran. Passez à 32 ou 64 et/ou agrandissez la zone de la région pour qu'elle apparaisse plus rapidement.

Remarque Le client Google Earth ne vous propose pas d'outil pour modifier ou même afficher les zones de délimitation de la région sur la carte, ce qui rend le débogage difficile. Vous pouvez coller votre fichier KML dans ce fichier tool pour générer le fichier KML en rendant visible la zone de délimitation de la région. Cela aide à déboguer les régions plus facilement.

+0

en ce qui concerne , je l'ai utilisé depuis ballon, sans elle, serait activé uniquement en cliquant sur la fonctionnalité ... donc je veux le montrer sans cliquer mais à une distance appropriée de la fonction .... – msc87

+1

a mis à jour ma réponse. Découvrez la nouvelle solution de contournement. – JasonM1

+0

cela a fonctionné ..... TNX .... comment puis-je changer la distance d'apparaître? et PLZ donnez-moi une courte explication? (si possible) – msc87

Questions connexes