2016-11-10 2 views
0

i Marker sind Speicher Koordinaten in mysql wie unten Bildwie Markierungen im Polygon wählen Sie aus mysql

enter image description here

, was ich brauche, ist, wenn der Benutzer

enter image description here

auf Karten wie unten Bild zeichnen

Ich könnte die Form und wählen Sie Marker in der Form von MySQL und erstellen Sie eine Abfrage.
zum Beispiel:
$ query = mysql_query ("SELECT location FROM Tabelle WHERE Koordinaten im Polygon");


i belive i Ajax verwenden müssen. und ich verwende Google Maps v3
ist das überhaupt möglich, das zu tun?
BITTE HELFEN, Irgendeine Idee, dass ich so etwas anders könnte ??

+0

Wie haben Sie die Polygonform in db gespeichert? Sie verwenden Geometrie POLYGON data Type? oder speichern Sie die Koordinate in anderer Weise? und was meinst du mit "Standort"? – scaisEdge

+0

@scaisEdge Ich speicherte meine Koordinaten in 'location' col in mysql db und ich muss diese Orte finden, indem ich ein Polygon auf der Karte zeichne –

+0

OK .. aber bei welchem ​​Datentyp/Format speichern Sie die Standortkoordinaten ..? ..und Sie wissen und wollen mysql Geometrie-Erweiterung verwenden oder nicht? – scaisEdge

Antwort

1

Google Maps bietet keine GIS-Funktionen zur Auswahl der Koordinaten innerhalb eines Polygons. Sie könnten tun, die räumliche Erweiterung (Datentyp GEOMETRY) für mysql .. und dafür können Sie in das gehen .. http://dev.mysql.com/doc/refman/5.7/en/spatial-extensions.html für mysql doc.

Eine einfache Möglichkeit zum Auswählen von Positionen (Punkten) in Google Maps besteht darin, die Extremwerte der Koordinaten der Polygonpunkte zu verwenden, um die Koordinaten des Rechtecks ​​zu erhalten, das die Polygonscheitel enthält. Wählen Sie dann

select location 
    from my_table 
    where location_lat >= minLat_polygon 
    AND location_lat <= maxLat_poligon 
    AND location_lng <= maxLng_polygon 
    AND location_lng >= minLng_polygon 
+0

auch daran denken, dass einfacher Weg wird nicht richtig funktionieren für konkav geformte Polygone – Ergec

+0

@Ergec, wenn Sie die min e und die max für lat und die min und die max für lng arbeiten sollten (erhalten Sie die mbr Vertex) – scaisEdge