-1

現在、Google Maps JavaScript APIを使用して、顧客のすべての場所を表示しています。 PHPだけでうまくいきましたが、今は$ .ajax()関数を使って作業しています。GoogleマップJavascript APIには、500以上のマーカーがいくつか表示されています

function init() { 
    map = new google.maps.Map(document.getElementById('googleMap'), { 
      zoom: 6, 
      center: {lng: 10.1293945, lat: 51.1793430} 
      }); 
    var markers = addMarkers('', '', 'POST'); 
    return map; 
} 

function addMarkers(f, s, method) { 
    console.log("Filter: " + f); 
    $.ajax({ 
     url:  'user-load.php' + "?echo=1&method=" + method + "&filter=" + f + "&search=" + s, 

     dataType: 'json', 
     success: function(data) { 
      var count = data['length']; 
      console.log(count + " found"); 
      var displayed = 0; 
      for(var i = 0; i < count; i++) { 
       if(data[i]['lat'] != 0 && data[i]['lat'] != 0) { 
        displayed++; 
        var name = data[i]['first'] + " " + data[i]['last']; 
        var url = ''; 
        if(data[i]['url'] != '') { 
         url = "<p>Website: <a target=\x22_blank\x22 href=\x22" + data[i]['url'] + "\x22>" + data[i]['url'] + "</a></p>"; 
        } 
        var mail = ''; 
        if(data[i]['mail'] != '') { 
         url = "<p>E-Mail: " + data[i]['mail'] + "</p>"; 
        } 
        var marker = new google.maps.Marker({ 
         position:{lng: parseInt(data[i]['lng']), lat: parseInt(data[i]['lat'])}, 
         map: map, 
         title: name + ", " + data[i]['title'], 
         animation: google.maps.Animation.DROP 
        }); 
        var c = '<h1>' + name + '</h1>' + 
            '<h4>' + data[i]['title'] + '</h4>' + 
            '<p>' + data[i]['Land'] + ", " + data[i]['PLZ'] + " " + data[i]['Ort'] + '</p>' + 
            '<p>' + data[i]['Strasse'] + '</p>' + 
            mail + 
            url; 
        var window = new google.maps.InfoWindow({ 
            content: c 
           }); 
        marker.addListener('click', (function(map,marker, window){ 
         return function() { 
          window.open(map, marker); 
         }; 
        })(map, marker, window)); 
        markers.push(marker); 
       } else { 
        console.log("Not valid: " + data[i]); 
       } 
      } 
      console.log(displayed + " displayed"); 
     }, 
     error: function(data) { 
      console.log("ERROR!"); 
     } 
    }); 
} 

ここに私のコード全体があります。私のuser-load.phpの出力配列にエラーはありません。それはうまくいきます、結果 - > num_rowsはマーカー配列の長さと同じですが、557のうち〜50個のマーカーしかありません。何が問題なのですか?私はJSの初心者で、最初はちょっと混乱しています。

答えて

1

それを固定しました。 そのような間違いの間違いは、5時間のようにそれを探しました。 代わりの

parseInt(data[i]['lng']) 

この:

parseFloat(data[i]['lng']) 

今、すべてがうまく動作します。多分私は誰かを助けることができる:)

関連する問題