sql >> Databasteknik >  >> RDS >> Mysql

Överför google map koordinater till mysql databas

Okej nu, här är databaslösningen för dig:

Tabellsökvägar lagrar sökvägarna du har, från din 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;

Tabellsökvägar kommer att lagra ditt användar-/sökvägsnamn (vilket du vill) i pName-fältet, startpunkt i pStartLat/pStartLng-fälten, pAverageSpeed ​​är naturligtvis medelhastighet (vet inte om du vill ha det, för säkerhets skull) och pID är identifierare som du kommer att använda med en annan tabell:

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;

Denna tabell låter dig lagra koordinater - med hastighet till var och en.

Låt oss nu säga att du vill visa sökvägen som heter 'TestOne'.

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

SELECT * FROM paths WHERE pName = "TestOne"

Nu har du ID, namn, startpunktskoordinater och medelhastighet i tabellen (mysql_fetch_assoc skulle vara bra för det).

Sedan kan du, med hjälp av ID:t, hämta resten av koordinaterna:

SELECT * FROM coords WHERE cPath = ID

Och nu använder e. g. medan loop kan du hämta alla koordinater till en array.

Naturligtvis måste du först lagra den datan med hjälp av INSERT INTO-konstruktion eller liknande :-)



  1. Infoga, Uppdatera, Ta bort rader av jtable med mysql-data

  2. Bevara och visa text exakt hur den är skriven och skickad

  3. Batchfil för att ansluta mysql och köra kommandon

  4. Vilka är sätten att flytta data äldre än 'Y' dagar till en arkiv-/historiktabell i MySQL?