0

私には2つの関数がinitialize()あり、ページが読み込まれるたびplaceMarker()initializeメソッドで呼び出され、マップを初期化し、経度と緯度の位置を応答で送信するphpスクリプトにリクエストを送信します。

アラートボックスを使用して確認したため、スクリプトの応答は正しいです。

placeMarker外部から関数を呼び出すと、機能し$.eachます。

しかし、その中から呼び出すと$.each、マーカーは配置されません。

function initialize(latitude,longitude)
{
    geocoder = new google.maps.Geocoder();

    //Initial Map Variables
    var mymap={
            zoom:8,
            center:new google.maps.LatLng(latitude,longitude),
            mapTypeId:google.maps.MapTypeId.ROADMAP
        };  

        //Initialize Map
        map=new google.maps.Map(document.getElementById("map_canvas"),mymap);

           //  placeMarker(latitude,longitude);
           //  placeMarker(latitude + 0.2,longitude + 0.2);     When these two are called it places the marker on the map

    $.ajax({
          type: 'GET',
          url: "Profile_Control.php",
          data: "ajaxRequest=yes&id="+document.getElementById("compid").value,
          success:function(data){
             var parsedData= $.parseJSON(data);
            $.each(parsedData,function(){
                placeMarker(this['lat'],this['lng']);           

        //not place the marker on the map.
            });
        }
        }); 
}


//Place the marker and update the array.
function placeMarker(latitude,longitude)
{
    var myLatLng = new google.maps.LatLng(latitude,longitude);

            var marker = new google.maps.Marker({
                    map: map,
                    position:myLatLng,
                }); 
}
4

1 に答える 1

-1

試す

$(parsedData).each(function(j) {
  placeMarker(parsedData[j]['lat'],parsedData[j]['long']);
});
于 2012-05-27T11:30:35.443 に答える