2012-02-02 15 views
3

kmlファイルを解析して複数の目印を表示します。助けてください、私は長い間立ち往生しています。kmlファイルを解析して複数のGoogle Earth PlacemarkをGoogle Earthに表示

私はGoogle Earthのデスクトップクライアントは、私が最初に見に複数の目印を表示するには、次によりしようとした上記のコードに基づいて、KMLコードスニペット

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

<Document>  
    <Placemark> 
    <name>Placemark2 from KML file</name> 
    <Point> 
     <coordinates>-122.448425,36.802907,0</coordinates> 
    </Point> 
    </Placemark> 
    <Placemark> 
    <name>Placemark2 from KML file</name> 
    <Point> 
     <coordinates>-122.448425,37.802907,0</coordinates> 
    </Point> 
    </Placemark> 
</Document> 
</kml> 

を以下に適しています見ての通り。しかし、運命はありません。私は.kmlファイルを取得する代わりにkml文字列を解析する方が好きです.kmlファイルは公開され、Googleがアクセス可能である必要があります。さらに、kml文字列を解析することで、localhostからテストできます。

<script src="//www.google.com/jsapi?key=ABQIAAAA5El50zA4PeDTEMlv-sXFfRSsTL4WIgxhMZ0ZK_kHjwHeQuOD4xTdBhxbkZWuzyYTVeclkwYHpb17ZQ"></script> 

<script type="text/javascript"> 
    var ge; 
    var placemark; 
    var object; 

    google.load("earth", "1"); 

    function init() { 
     google.earth.createInstance('map3d', initCB, failureCB); 
    } 

    function initCB(instance) { 
     ge = instance; 
     ge.getWindow().setVisibility(true); 
     var kmlString = '' 
         + '<?xml version="1.0" encoding="UTF-8"?>' 
         + '<kml xmlns="http://www.opengis.net/kml/2.2">' 
         + '<Document>'       
         + '<Placemark>' 
          + '<name>Placemark1</name>' 
          + '<description>Some Descriptive text.</description>' 
          + '<Point>' 
          + '<coordinates>-122.448425,36.802907,0</coordinates>' 
          + '</Point>' 
         + '</Placemark>' 
         + '<Placemark>' 
          + '<name>Placemark2</name>' 
          + '<Point>' 
          + '<coordinates>-122.448425,37.802907,0</coordinates>' 
          + '</Point>' 
         + '</Placemark>' 
         + '</Document>' 
         + '</kml>'; 

     var kmlObject = ge.parseKml(kmlString); 
     ge.getFeatures().appendChild(kmlObject); 
     ge.getView().setAbstractView(kmlObject.getAbstractView()); 
    } 

    function failureCB(errorCode) { 
    } 

    google.setOnLoadCallback(init); 
</script> 
<div id="map3d" style="border: 1px solid silver; height: 400px; width: 600px;"> 
</div> 

次のカメラタグをドキュメントに追加すると、1つ目の目印が表示されます。すべての目印を縮小表示することができます。

+ '<Camera>' 
     + '<longitude>-122.448425</longitude>' 
     + '<latitude>36.802907</latitude>' 
     + '<altitude>100</altitude >'        
     + '<tilt>10</tilt>' 
     + '<heading>2.7</heading>' 
    + '</Camera>' 

最初に複数の目印を表示するにはどうすればよいですか?あなたの中にaltitude as 100を指定することで、URLから

1.From KMLネットワークリンク
2.fetchingデータのkml列

から
3.fetchingデータ:我々は3つのメソッドを持っているグーグルアース上でKMLを表示するには

答えて

1

kml、onload google earth表示-122.448425,36.802907高度を100として設定すると、高度を上げてからすべての目印を表示できます。私はaltitude as 1000000で自分のマシンで試してみました。Google Earthの2つ目の目印が表示されています。

注:あなたは非常に多くの目印を持っている場合は、あなたの高度を上げるか、他の高altitude.Hopeとサーバー側のコードを使用して、動的KML世代のために行く、これは

:-)に役立ちます
関連する問題