0

ajaxとphpの組み合わせを使用して、Googleマップにマーカーを動的に追加しようとしています。コードの最初の部分は、latlngをphpファイルに送信します。次に、phpファイルは必要なマーカーの場所を返します。

リターン部分にアラートを送信すると(PHPが正しく処理されたデータを確認するためのアラートテスト)、問題ないように見えますが、リターンからマップにマーカーを追加できないようです。

以下のコードを参照してください。
//データをURLに送信(phpファイルに送信)//プレースマーカーのデータを返す(これは、phpファイルが返すものです)

どうもありがとう、

//データをURLに送信

     var xmlHttp = getXMLHttp();
     xmlHttp.onreadystatechange = function() {
     if (xmlHttp.readyState == 4) {
     HandleResponse(xmlHttp.responseText);
     }}                     
     xmlHttp.open("POST",'MYPHPFILE',true);
     xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
     xmlHttp.send("LATLON="+strLAT);

//場所マーカーのデータを返す

     var wxlatlng = new google.maps.LatLng(52,1); 
     var marker = new google.maps.Marker({ 
     position: wxlatlng,
     map: map,
     icon: '../../icons/flags/traffic_light_red.png',
     title: 'TEST', });

//場所マーカーのデータを返す

     var wxlatlng = new google.maps.LatLng(52,1.1); 
     var marker = new google.maps.Marker({ 
     position: wxlatlng,
     map: map,
     icon: '../../icons/flags/traffic_light_red.png',
     title: 'TEST', });

//PHPで処理されたデータが正しく処理されていることを確認するためのアラートテスト

     function HandleResponse(response) {
            document.getElementById('ResponseDiv').innerHTML = response;
            alert($('#ResponseDiv').text());
        }                           
4

1 に答える 1

0

私の質問に対して見つけた答えは、phpファイルを使用してマーカーxmlファイルを作成し、jQuery応答を介してxmlファイルをロードすることでした

以下のコードを参照してください。

 jQuery.get(YOURXMLFILE, function(data) {
       jQuery(data).find("marker").each(function() {
       var eachMarker = jQuery(this);
       var markerCoords = new google.maps.LatLng(
       parseFloat(eachMarker.find("Lat").text()),
       parseFloat(eachMarker.find("Lng").text())
       );
       var header  = eachMarker.find("title").text();
       var content = eachMarker.find("Content").text();
       var wxicon  = eachMarker.find("icon").text();
       //--------------------------------------------------------------------------        
        marker = new google.maps.Marker({
        position: markerCoords,
        icon: wxicon,
        map: map,
        animation: google.maps.Animation.DROP,
        title: header,
        });
        });
        }); 
于 2013-03-22T11:52:56.720 に答える