Google MAPS API V3 -> ¿Cómo mostrar todos los polígonos que están almacenados en mi tabla MYSQL?

Soy bastante nuevo en Google MAPS API V3 y me gusta get ayuda. Estoy dibujando polígonos en mi sitio y funciona bien. Guardo las coorderadas de mis polígonos en una database MYSQL, y aquí está la estructura de la tabla:

CREATE TABLE IF NOT EXISTS `localite` ( `id_localite` int(11) NOT NULL AUTO_INCREMENT, `libele_localite` varchar(255) NOT NULL, `lat_localite` text NOT NULL, `long_localite` text NOT NULL, PRIMARY KEY (`id_localite`) ) 

como pueden ver he dividido los lats y longs en columnas separadas y obtengo las coorderadas usando PHP.

la columna lat_localite contiene solo las coorderadas de latitud, y la columna long_localite contiene solo las coorderadas de longitud, obtengo estas coorderadas usando Javascript y escribiendo el contenido en 2 áreas de text separadas … este es el código:

 google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon) { var patths = polygon.getPath(); var stuh = patths.getLength(); var lat_localite=''; var long_localite=''; for (var i=0; i<(stuh) ;i++) { lat_localite += (patths.getAt(i).lat()+'\n'); long_localite += (patths.getAt(i).lng()+'\n'); document.forms['formId'].elements['Textarea1ID'].value=lat_localite; document.forms['formId'].elements['Textarea2ID'].value=long_localite; } }); 

ASÍ QUE ahora quiero mostrar todos los polígonos que están almacenados en mi table Y no sé Cómo hacerlo ¿Puedes ayudarme?

Con V3 es bastante fácil.

 var polygons = []; 

Y luego simplemente recorra todos sus polígonos desde la database con el siguiente código.

  //Add all your coordinates in with new google.maps.LatLng(lat, lng), var coords = [ new google.maps.LatLng(12.5, -8.2), new google.maps.LatLng(12.52, -8.21), etc.... ]; // Construct the polygon polygons.push(new google.maps.Polygon({ paths: coords, other_options: etc.... })); polygons[polygons.length-1].setMap(map); //Your map object 

En segundo lugar (fuera de interés), MySql puede almacenar polígonos utilizando types de datos espaciales (consulte el tipo de datos de polígono )

Esto puede ser útil si necesita consultar los datos. Estás restringido a rectangularjs delimitadores mínimos, pero creo que este tipo de datos es mejor para.

Para extraer el polígono de MySql como coorderadas lat / lng, mire la function AsText () de mysql.

p.ej:

 select AsText(my_polygon_column) as blob; 

Y luego pasa eso a través de esta function php:

 function sql_to_coordinates($blob) { $blob = str_replace("))", "", str_replace("POLYGON((", "", $blob)); $coords = explode(",", $blob); $coordinates = array(); foreach($coords as $coord) { $coord_split = explode(" ", $coord); $coordinates[]=array("lat"=>$coord_split[0], "lng"=>$coord_split[1]); } return $coordinates; }