2011-11-10 10 views
0

私は静的な.csvタイプのファイルを持っています。ファイルには、それぞれ固有のIDと関連する緯度と経度の4000以上のアドレスが記載されています。私は、各会場IDごとにイベントが格納されているデータベースを照会し、その照会と一致するイベントを持つアドレスのみをGoogleマップに表示したいと考えています。GoogleマップでのKML目印の動的読み込み

これは、Googleのクエリの制限ではない場合(ライブになると、毎日何十万から何百万件ものクエリの可能性があります)の1つです。しかし、KMLファイルの制限は十分です(私はそれがカウントされているファイルのサイズだけだと間違っていると思います)。そして、.csvファイルを.kmlファイルに変換します。検索クエリに対応するすべての4000+個のアドレスが毎回マップにロードされるようにします。

単一の.kmlファイルから特定の目印を選択的に読み込む方法が必要です。可能であれば、サーバー側アプローチ(ASP.Net)を使用する必要はありませんが、絶対に必要な場合はそうします。

~~~~~

私はサーバー側のアプローチを使用すると思います。私はまだ純粋なJavaScriptを試すクエリの制限にぶち当たっていたのでkmlを使用したいと思います(私はちょうどGoogle Maps APIの使い方を覚えていたときに何か間違っていたかもしれませんが)。 kmlは、チケットを購入しなければならないかもしれない出来事の会場とその関連する場所から成っています。検索用語は「邪悪なニューヨーク」または「コンサートFL」である可能性があります。データベースはvenue idを返します。これはkmlファイル内の目印IDに関連付けられています。私がしたいのは、検索クエリで返された会場IDの配列を使用し、次にkmlファイルをスキャンし、配列内の会場IDと一致する目印IDのみを返すことです。私はkmlの目印を同じページのdivタグに読み込ませ、Googleが地図上にポインタを置くために使うものにしたいと思います。完全なURLの代わりに名前付きアンカーを使用してkmlをGoogleマップにロードする方法はありますか?(var kmlVar = new google.maps.KmlLayer('#kmlDivTagOnSamePage');これは動作しません))?これは、サーバー側のASP部分を書くのが簡単になります。

答えて

0

2Dマップだけを使用している場合は、おそらくKMLを使用する必要はありません。一度に4kの場所をすべて表示する必要はないので、おそらくGoogleのサーバーサイドレンダリング(JavaScriptでマーカーをレンダリングするだけでよい)を使う必要はないため、Fusion Tablesは機能するかもしれませんが、 - すべてのデータをIDをキーにしてJSON辞書として読み込み、検索を実行すると一致するものを見つけ出して表示します - 最初にクライアントに何もロードしないでください:あなたのサーバーと検索ごとに表示するために必要なすべてのデータを返すようにしてください。

これらの提案が意味をなさないと思われる場合は、おそらく質問する可能性のある正確な種類の質問と、データベースからそのデータベースを制御するかどうかを指定します。

関連する問題