sql >> Base de Datos >  >> RDS >> Mysql

Transferir las coordenadas del mapa de Google a la base de datos mysql

Muy bien, aquí está la solución de base de datos para usted:

Las rutas de la tabla almacenarán las rutas que tenga, desde su matriz.

CREATE TABLE `gmap`.`paths` (
  `pID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `pName` VARCHAR(75) NOT NULL,
  `pStartLat` VARCHAR(25) NOT NULL,
  `pStartLng` VARCHAR(25) NOT NULL,
  `pAverageSpeed` FLOAT NOT NULL,
  PRIMARY KEY (`pID`)
)
ENGINE = MyISAM;

Las rutas de la tabla almacenarán su nombre de usuario/ruta (lo que desee) en el campo pName, el punto de inicio en los campos pStartLat/pStartLng, pAverageSpeed ​​es, por supuesto, la velocidad promedio (no sé si lo desea, por si acaso) y pID es el identificador que usarás con otra tabla:

CREATE TABLE `gmap`.`coords` (
  `cID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `cLat` VARCHAR(25) NOT NULL,
  `cLng` VARCHAR(25) NOT NULL,
  `cSpeed` FLOAT NOT NULL,
  `cPath` INTEGER UNSIGNED NOT NULL,
  PRIMARY KEY (`cID`)
)
ENGINE = MyISAM;

Esta tabla te permitirá almacenar coordenadas, con velocidad para cada una.

Ahora, supongamos que desea mostrar la ruta llamada 'TestOne'.

// Connect to the database - I assume you can do that
// and retrieve data

SELECT * FROM paths WHERE pName = "TestOne"

Ahora tienes ID, nombre, coordenadas del punto de inicio y velocidad promedio en la tabla (mysql_fetch_assoc sería genial para eso).

Luego, usando la ID puedes recuperar el resto de las coordenadas:

SELECT * FROM coords WHERE cPath = ID

Y ahora, usando e. gramo. while bucle, puede recuperar todas las coordenadas en una matriz.

Por supuesto, primero debe almacenar esos datos usando INSERT INTO construcción o similar :-)