2011-12-13 13 views
0

私は非常にシンプルなNetworkLink kml(以下)ファイルを持っています。動的目印を生成します(<Placemark id="1"><name><description><Point><coordinates>をタグとして使用)。 NetworkLinkのkmlファイルはGoogle Earthでは動作しますが、Googleマップでは動作しません(ブラウザマップは目印なしの裸のマップに過ぎません)。NetworkLinkのkmlファイルはGoogle Earthでは動作しますが、Googleマップでは機能しません(ブラウザマップは目印なしの単なる裸マップです)

ネットワークリンクのKMLファイル:

window.onload = function() { 
     initialize(); 
    } 
    var map; 
    var infowindow; 
    var service; 
    var request; 

    function initialize() { 
     geocoder = new google.maps.Geocoder(); 
     var startLatLng = new google.maps.LatLng(41.82177, -72.50722); 
     map = new google.maps.Map(document.getElementById('map_canvas'), { 
      mapTypeId: google.maps.MapTypeId.ROADMAP, 
      center: startLatLng, 
      zoom: 5 
     }); 
     infowindow = new google.maps.InfoWindow(); 

     var ctaLayer = new google.maps.KmlLayer('http://66.230.78.217/netLink.kml'); 
     ctaLayer.setMap(map); 
    } 

理由の任意の説明、なぜ次のようになります。実際のショーは(または表示する必要がありませんが)マップ上の目印が

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2"> 
    <NetworkLink> 
     <name>Ticket Map Add-In</name> 
     <Link> 
      <href>http://66.230.78.217/getKML.aspx</href> 
     </Link> 
    </NetworkLink> 
</kml> 

の.js大いに感謝します

動作しないページへのリンク: http://66.230.78.217/ResultsGeneral.aspx

* 更新 *

私はNetworkLinkのファイルとの問題と考えるのは初めです。私は<NetworkLink><Link><href>を使用して任意のファイル(kmlまたはaspx)を読み込むことはできません...しかし、私はjavascriptで直接同じkmlファイルを読み込むことができます。

答えて

1

おそらく、サーバーがKMLを作成するには時間がかかりすぎている可能性があります。この理論をテストするには、KMLの静的バージョンをサーバーに保存し、その代わりにNetworkLinkが呼び出すようにします。

http://code.google.com/apis/kml/documentation/kml_tut.html#kml_server

+0

に述べたようにまたあなたは、適切にあなたのKMLのMIMEタイプを設定する必要が時間制限をカスタマイズする方法はあります(サーバーが非常に遅いので、/問題である可能性が非常に高いです)。 – SomeoneElse

+0

Nope;サーバーの応答時間を短縮する必要があります。おそらくキャッシュを追加してみてください。毎回一意のKMLを作成する必要がありますか? – jlivni

+0

クライアントサイドのJavaScriptがロードされる前にサーバ側の部分が完全にロードされている必要があり、javascriptからロードされた静的ファイルがロードされていて、networklink hrefタグを使用して同じファイルがロードされないためこの同じファイル。 – SomeoneElse

関連する問題