• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:グーグルマップAPI+MySQLを使用する際の方法)

グーグルマップAPI+MySQLを使用する際の方法

このQ&Aのポイント
  • MySQLに登録してある位置情報を元にGoogleマップにマーカーを表示する方法を教えてください。
  • マーカーの表示数が多くて重くなる場合、画面移動やズームが発生した際に画面領域内のマーカーのみを検索して表示する方法はありますか?
  • マーカーの表示数を500~1000程度に抑えたいですが、その数では情報として意味がなくなってしまいます。解決策はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • wf9a5m75
  • ベストアンサー率92% (13/14)
回答No.2

Fusion TablesというGoogleのサービスと連携すると、大量のマーカーを描画するようなことに使えます。 サーバーからFusionTablesにデータを送って同期するようにします。 Googleのサーバー上で、マーカーのタイルがレンダリングされます。 Fusion TablesのデータはGoogle Maps APIにレイヤーとして取り込めるので、サーバーに負荷をかけないで使うことができます。 ■ドキュメント https://developers.google.com/maps/documentation/javascript/layers#FusionTables ■実際に使用している例 http://iai-dojo.jp/dojo/map/ ------------------------------------ またはKMLをサーバーから出力する方法もあります。 Google Maps APIのKMLLayerを使えば、同様のことが可能です。

その他の回答 (1)

noname#177743
noname#177743
回答No.1

>画面移動、ズームが発生した際に画面領域内のマーカーのみをその都度PHPを使ってMySQLから検索、表示とも思ったのですが、これではサーバーの負担が大きすぎる様に思います。 現状ではこれしかないように思いますが……。ただ、ちょっとスクロールして動かしただけで再検索、とまではしなくていいと思います。 例えばですが、表示領域プラスアルファ(表示領域を中心として縦横にプラス1画面分ぐらい)の範囲内で検索をして、現在の位置から1画面分以上スクロールしたら検索し直す、というような感じになるんじゃないでしょうか。実際、試してないただの想像ですみませんが……。

関連するQ&A