2

JavaScript (v3 api) を使用して Google マップを作成しました。これができることを示すために、これにいくつかのマーカーをポップしました。できるかどうかを確認するために、各マーカーに固有のテキスト ボックスにテキストを追加しました。マーカーもテキスト ボックスも見苦しいですが、それはまた別の問題です。マップは、画面幅の約 75%、画面高さの 100% を占めます。ユーザー投稿の mySQL データベースがあります。データには、投稿番号 ID、カテゴリ、IP アドレス、経度の値、緯度の値、都市、ユーザー名、見出し、および投稿コンテンツが含まれます。投稿カテゴリを含むテーブルを「フローティング」し、マップの横に向かい、PHP を使用してデータベースにクエリを実行し、データベース行を配列に押し込み、これをテーブルのソースとして使用しました。これは、表示幅の残りを占めます。

よし、ここまで。

各投稿にマーカーを追加して、マーカーが投稿元の経度と緯度に配置されるようにします。その投稿に固有のコンテンツ (都市、ユーザー名、投稿の見出し、投稿の内容など) をマーカー テキスト ボックスに追加したいと考えています。さらに、表示されたテーブル内の投稿をマップ マーカーにリンクできるようにしたいと考えています。これにより、たとえば、テーブル内の特定の投稿にマウス オーバー イベントが発生すると、そのマーカーに関連付けられたテキスト ボックスが表示されるようになります。

しかし、必要に応じてマーカーを追加するためにこれを使用できるように、PHP 配列を Google マップ JavaScript に渡す方法を見つけることができないようです。また、Google マップの外部にあるオブジェクト上のマウス オーバー イベントを Google マップ マーカーに関連付ける方法もまだ見つけられていません。

私は広範な調査を行い、前者に対する同様の要求を見つけました-PHP配列をJavaScriptに渡します。通常、推奨される解決策は、コンマなどの区切り文字を使用して PHP 配列から文字列を作成し、これを JavaScript に渡して配列に変換することです。私の場合、これがうまくいくとは思いません。

私の現在のコードは単一のファイルにあります。スタイルは、html ヘッド セクションのスタイル セクションにあり、後で別の css ファイルに移動できます。Google マップの JavaScript はスクリプト セクションにあり、これも html ヘッドにあり、別の js ファイルに移動できます。本文には、map-canvas 用の div と、単一の PHP 配列でデータベース行を取得し、テーブル用の html を作成するための PHP を使用したテーブルの html が少し含まれています。

何度も指摘されているように、「PHP はサーバー側の技術であり、JavaScript はクライアント側の技術」であることは承知しています。しかし、PHP が SQL データベースから取得したデータの配列を JavaScript コードに渡す何らかの方法があるはずです (データの出所は特に関係ありません)。

非常に冗長であることをお詫び申し上げます。私の質問がどこかで答えられている場合は、私が見逃したり誤解したりしています。または、私が特に愚かである場合。

気をつけて。

マイク

元の投稿を編集してこれを追加します。

わかった。外部要素から Google マップ マーカーへのリンクを作成する方法です。http://econym.org.uk/gmap/mouseover.htm何かを探すのをあきらめた後、そのアイテムが見つかった後、常に道。

マイク

4

2 に答える 2

7

を使用して、PHP 配列を JSON に変換しますjson_encode

これで、使用できる JavaScript オブジェクトができました。

于 2013-04-02T14:09:38.220 に答える
1
$jsonString = json_encode($phpArray);

JavaScript の場合:-

var jsonStr  = <?=$jsonString?>;
于 2013-08-19T08:10:29.847 に答える