2012-01-26 4 views
3

私はGeoXML jsを使用しています。 v3のGoogleマップでkmlファイルをローカルで解析します。 KmlLayer()を公開してアクセス可能なサーバーに置く必要があるため、KmlLayer()は使用しません。 http://code.google.com/p/geoxml3/wiki/UsageローカルのGoogleマップにkmlファイルをレンダリングしますか?

私は、SQLサーバデータベースにバイト配列としてkmlファイルを持っています。

データベースからバイト配列を取得して、File.WriteAllBytes("c:\\KmlFiles\\layer" + id + ".kml", byte[])を実行します。これにより、kmlファイルがパスに正常に保存されます。

これで、kmlファイルをGeoXMLパーサに渡す必要があります。私はディレクトリパスをメソッドに渡そうとしています。このようにしています。

<script type="text/javascript"> 
    var myMap = new google.maps.Map(...); 

    var myParser = new geoXML3.parser({map: myMap}); 
    myParser.parse(path); 
    </script> 

これは機能しません。これはURLではないので、これはkmlファイルを渡す正しい方法ではないようです。私はkmlファイルをレンダリングするために私ができることについています。私は私のPC上でローカルにアプリを実行しているときにGoogleマップが埋め込まれている.Net MVCアプリを持っていますが、Webサーバー(iis 7の場合)にまだ公開していません。

kmlファイルの解析方法について教えてください。 kmlファイルのURLをどのように取得できますか?私は進歩する方法に固執している/それを動作させる。ありがとう。

答えて

1
  • あなたはアクションがAuthoize属性(ログイン)を使用して固定することができるKMLResult
  • を返すために、あなたのコントローラのアクションでのActionResultをオーバーライドすることができ
  • 今、あなたはIMO KMLレイヤ

を使用することができますJavascriptで読み込むためにファイルをクライアントPCにダウンロードすることはお勧めできません。

+0

しかし、KmlLayer(...)には、パブリックサーバーに格納されているkmlファイルを指し示す必要のあるURLが必要です。そのため、Googleのサーバーで解析することができます。最初にファイルをサーバーに保存する必要はありませんか? – Qwerty

+0

KMLファイルをクライアントのPCに保存せずに保護されるMVCアプリケーションディレクトリに保存するにはどうすればよいですか。 GeoXMLをそのように使うには? – Qwerty

+0

ページをロードする前にログインすることができます。これにより、[認証]属性に別のログインが必要ではなく、ログインしたユーザーだけがアクセスできるようになります。私はGeoXML btwを使用していません。 – Muthu

関連する問題