2

MySQL db テーブルから変数を取得するスクリプトに取り組んでいます。Google が提供するコーディング例を次に示します。

var beaches = [
  ['Bondi Beach', -33.890542, 151.274856, 4],
];

そして今、ここに私が達成しようとしているものがあります。

ID 、 Beach 、 Long 、 Lat フィールドを持つテーブルがあります

ビーチに入って手動で変数にビーチを追加する代わりに、ビーチ変数を置き換えてMySQLテーブルからプルするにはどうすればよいですか。そうすれば、ユーザーが経度と緯度を含むビーチ名をフォームから DB に追加すると、Google マップにマーカーが自動的に追加されます。

Google Maps API v3 で ComplexIcon オーバーレイを実現しています

https://developers.google.com/maps/documentation/javascript/overlays#ComplexIcons

私はいくつかのAJAXを使用するつもりだと思いますか?私は以前に AJAX を使用したことがないので、これが事実である場合は、AJAX tuts をプルアップしたほうがよいと思います:)

4

2 に答える 2

4

ユーザーのブラウザーの Javascript は、データベースに直接アクセスすることはできませんが (これは良いことです!)、サーバーにデータを要求することはできます。動的な更新が必要な場合は、AJAX を使用することをお勧めします。Google の記事: https://developers.google.com/maps/articles/phpsqlajax_v3

ただし、ページをブラウザに送信するときに単にマーカー データを取得する必要がある可能性が高いと思われます。データを取得する同様の手法を使用して、PHP または別のサーバー サイド言語でページを構築することでそれを行うことができます。データベースに保存し、値をページ コードで直接使用します。

ユーザーが取得する最初のページを作成し、AJAX を介して更新するために、両方を行う必要がある場合があります。これにより、データが変更されるだけで、ページ全体を更新する必要がなくなります。

[注: データを非同期に転送するために XML を使用する必要はありません。JSON を使用してフォーマットすることも、コーディングできる他のフォーマットを使用することもできます。しかし、XML は簡単で、例がたくさんあります。]

于 2012-05-17T07:24:39.137 に答える
0

はい、ajaxで行う必要があります。たとえば、jQueryを使用します

$.ajax({
    url: formSubmitUrl,
    data: 'id=1&lat=23.444...',
    type: 'GET',
    success: function (data)
    {
        // data = response from the script
        // if every thing is ok, I return the string 'OK'
        if(data == 'OK')
        {
            var pMarker = new google.maps.Marker({
                position: new google.maps.LatLng(lat, lng),
                map: map,
                icon: yourMarkerimage
            });
        }
    }
});

そして、それはすべてクライアント側からです。AJAXを介してフォームを送信してから、マーカーをマップに追加します

于 2012-05-17T07:44:06.917 に答える