sql >> Database teknologi >  >> RDS >> Mysql

Overfør google map koordinater til mysql database

Okay lige nu, her er databaseløsningen til dig:

Tabelstier gemmer de stier, du har, fra dit array.

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;

Tabelstier gemmer dit bruger-/stinavn (hvad end du vil) i pName-feltet, udgangspunkt i pStartLat/pStartLng-felterne, pAverageSpeed ​​er selvfølgelig gennemsnitshastigheden (ved ikke om du vil have det, for en sikkerheds skyld) og pID er identifikator som du vil bruge med en anden tabel:

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;

Denne tabel giver dig mulighed for at gemme koordinater - med hastighed til hver enkelt.

Lad os nu sige, at du vil vise stien kaldet 'TestOne'.

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

SELECT * FROM paths WHERE pName = "TestOne"

Nu har du ID, navn, startpunktskoordinater og gennemsnitshastighed i tabellen (mysql_fetch_assoc ville være fantastisk til det).

Derefter kan du ved hjælp af ID'et hente resten af ​​koordinaterne:

SELECT * FROM coords WHERE cPath = ID

Og nu bruger e. g. mens loop, kan du hente alle koordinater i en matrix.

Selvfølgelig skal du først gemme disse data ved hjælp af INSERT INTO-konstruktion eller lignende :-)



  1. Er LAST_INSERT_ID() i en transaktion pålidelig?

  2. Hvordan finder jeg den næststørste løn fra medarbejdertabellen?

  3. SET DATEFIRST – Indstil den første dag i ugen i SQL Server

  4. Brug af en variabel til tabelnavn i 'Fra'-sætning i SQL Server 2008