2012-05-07 8 views
1

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

$('.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; 

}); 

あなたがマーカーオプションは、成功に戻って渡されるJSON変数データから近くの値をロードして見るように。

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

しかし、再び、私はこの情報を渡すとき、それはしません:あなたは、以下のdata.nearbyから返されるエントリの例を見ることができます(私は例示の目的のためのダミーデータと緯度/ロング/ HTMLを置き換え)しかし、上記のjson値をペーストすると、マーカ変数の横にある緯度/経度とhtml値が直接マップポイントに表示されます。何が問題なのか?それが今で働くように

$('#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" 
     } 
    ] 
}); 

答えて

0

[OK]をルックス:

はここでGMap2のスクリプトで複数のポイントを使用してのサンプルコードです。付近のマーカーの値をこれまでに更新していた場合:

markers : jQuery.parseJSON(data.nearby) 

誰でも正しいことを確認できる場合は、

+0

あなたはそれがうまく機能している。私はあなたがしたことに何の問題も見ません。私の推測では、参照 'data.nearby'を使用しているときには、' markers'を文字列を指すように設定していただけです。そしてそれがjsonの文字列だったとしても、あなたがjsonを解析するまでは動作しませんでした。その場合、マーカーデータの配列に 'マーカー 'を設定しています。これは本当に必要なものです。それは意味をなさないと思われ、何らかの欠点を持たないようです。 –

+0

あなた自身の質問に答えて、あなたが結果に満足していると感じたら、質問の横の矢印をクリックして自分の答えを受け入れることが慣例です。それは、質問が答えられたことを他の人に知らせる。 –

+0

@Sean Mickeyはい私は自分の答えを受け入れることについて理解していますが、Stackoverflowは私自身の答えを受け入れる前に2日間待つことになります。今のところ、それは私が明日それを受け入れることができると私に伝えます。しかし、情報をありがとう! – John

関連する問題