2016-05-10 8 views
-1

Ich versuche, Daten von Rechteckgrenzen, die ich als Zonen in Google Maps anzeigen möchte, abrufen. Ich sammle Daten von der Datenbank über AJAX mit Jquery. Das ist, was ich habe:Google mappt Rechteckgrenzen mit Jquery und AJAX

AJAX

$.ajax({ 
       url: 'http://localhost/gui/templates/tracking/show_zones.php', 
       //data: 'userid='+ uid , 
       contentType: "application/x-www-form-urlencoded; charset=utf-8", 
       dataType: "json", 
       type: "POST", 
       success: function(json) { 
        data=json; 

        for (var i = 0; i < data.length; i++) 
        { 
         showZone(data[i].nelat,data[i].swlat,data[i].nelng,data[i].swlng); 
        }  
       } 
    }); 

und showZone Funktion:

function showZone(north,south,east,west) { 
     var rectangle = new google.maps.Rectangle({ 
     strokeColor: '#FF0000', 
     strokeOpacity: 0.8, 
     strokeWeight: 2, 
     fillColor: '#FF0000', 
     fillOpacity: 0.35, 
     map: map, 
     bounds: { 
      north: north, 
      south: south, 
      east: east, 
      west: west 
     } 
    }); 

} 

So werden Daten empfangen perfekt, für Daten [i] .nelat, Daten [i] .swlat, Daten [i] .nelng, Daten [i] .swlng Ich bekomme Werte 46.187180 45.950665 14.795084 14.425919, was korrekt ist. Wenn ich diese Zahlen in Begrenzungsvariablen manuell eintippe, bekomme ich ein schönes Rechteck auf dem gewünschten Bereich. wenn ich diesen Code verwenden jedoch ich eine Fehlermeldung erhalten:

‚InvalidValueError: setBounds: nicht ein LatLngBounds oder LatLngBoundsLiteral: in Immobilien Süden: keine Zahl‘

Die Zahlen werden in der Datenbank als Schwimmer gespeichert (10, 6) das entspricht dem Google-Handbuch über PHP/MySQL-Nutzung mit Karten. Muss ich die Zahlen irgendwie in einen "richtigen" Typ umwandeln oder wo könnte das Problem liegen?

+1

Testen Sie dies mit der Umwandlung in float? Es könnte ein Problem aufgrund des JSON-Formats geben. –

Antwort

1

Es ist notwendig, Grenzen Variablen in Floats zu analysieren :)