0

これを達成するための最良の方法は何ですか?ユーザーが私のウェブサイトにサインアップするときに、ユーザーが目的の位置にドラッグ アンド ドロップできるマーカーを使用して、Google マップ上で自分の場所を選択するように求めます。この Google マップはフォームの一部であり、送信時にそのデータの場所を取得してサニタイズし、データベースに挿入したいと考えています。

処理のためにマーカーの場所をPHPフォームに取得する方法に固執しています。

AJAX を使用してデータベースから情報を要求し、それをサーバーサイドの PHP フォームで処理し、それを AJAX 経由で送信して Google マップ スクリプトが取得して表示する方法については、以前から知っていました。これを本質的に反対方向 (クライアント -> サーバーではなくサーバー -> クライアント) に実装する方法を知りたいだけです。

何か案は?

4

1 に答える 1

1

これに対する「昔ながらの」ソリューションは、フォーム要素としてのクリック可能な画像でした。

  <input name="coord" type="image" src="map.png">

これにより、ピクセル単位で測定された 2 つのパラメーター coord.x と coord.y が得られます。また、 Xerox PARC Map Viewerなど、javascript が登場する前の時代にも機能していました 。

Javascript の解決策は次のとおりです。マップをクリックするか、マーカーを移動すると、フォームの long + lat の 2 つの (おそらく非表示の) フィールドに場所がコピーされます。

Google マップではなく、リーフレットを使用することをお勧めします。リーフレットの例を次に示します。

http://leafletjs.com/examples/quick-start.html#dealing-with-events

于 2013-08-29T09:22:18.263 に答える