1

GMap2 という jquery マップ スクリプトを使用しています。jquery/ajax を介して php スクリプトを呼び出し、マーカー情報を json 形式で返します。問題は、これを行うと、マップ ポイントが表示されないことです。しかし、json 値を手動で追加すると、マップ ポイントは正常に機能します。gmap コードを呼び出すコードは次のとおりです。

$('.shownearby').click(function () {

    $.ajax({
        cache:false,
        url:'path/to/php/script',
        dataType:'json',
        success: function(data) {

            $('#showmap').gMap(
                    {
                        latitude   : data.dlat,
                        longitude  : data.dlon,
                        address    : data.daddress,
                        maptype    : 'ROADMAP',
                        zoom       : 10,
                        markers    : data.nearby
                    }

            );

        }

    });

    return false;

});

ご覧のとおり、markers オプションは、成功時に返される json 変数データから Nearby の値をロードしています。以下に、data.nearby から返されるエントリの例を示します (例として、lat/long/html をダミー データに置き換えました)。

[{"latitude":"latva","longitude":"latlon","html":"htmlstuff"}]

しかし、この情報を渡すと機能しませんが、マーカー変数の横に緯度/経度とhtmlの値を持つ上のjson値を直接貼り付けると、マップポイントがうまく表示されます。問題は何ですか?

gmap2 スクリプトで複数のポイントを使用するサンプル コードを次に示します。

$('#map_addresses').gMap({
    address: "Quito, Ecuador",
    zoom: 5,
    markers:[
        {
            latitude: -2.2014,
            longitude: -80.9763,
            html: "_latlng"
        },
        {
            address: "Guayaquil, Ecuador",
            html: "My Hometown"
        },
        {
            address: "Galapagos, Ecuador",
            html: "_address"
        }
    ]
});
4

1 に答える 1

0

OK、今は動作しているようです。値の近くのマーカーをこれに更新する必要がありました:

markers : jQuery.parseJSON(data.nearby)

誰かがそれが正しいことを確認できるなら。

于 2012-05-07T02:42:50.933 に答える