私には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,
});
}