use new location format

see also cadd4105d1
This commit is contained in:
Jannis R 2018-03-03 00:18:52 +01:00
parent d3551d2e51
commit 07389ef418
No known key found for this signature in database
GPG key ID: 0FE83946296A88A5
4 changed files with 42 additions and 12 deletions

View file

@ -1,5 +1,6 @@
'use strict'
const formatLocationIdentifier = require('./location-identifier')
const formatCoord = require('./coord')
const formatAddress = (a) => {
@ -7,13 +8,16 @@ const formatAddress = (a) => {
throw new Error('invalid address')
}
const data = {
A: '2', // address
O: a.address,
X: formatCoord(a.longitude),
Y: formatCoord(a.latitude)
}
if (a.id) data.L = a.id
return {
type: 'A',
name: a.address,
crd: {
x: formatCoord(a.longitude),
y: formatCoord(a.latitude)
}
lid: formatLocationIdentifier(data)
}
}

View file

@ -0,0 +1,14 @@
'use strict'
const sep = '@'
const formatLocationIdentifier = (data) => {
let str = ''
for (let key in data) {
if (!Object.prototype.hasOwnProperty.call(data, key)) continue
str += key + '=' + data[key] + sep // todo: escape, but how?
}
return str
}
module.exports = formatLocationIdentifier

View file

@ -1,5 +1,6 @@
'use strict'
const formatLocationIdentifier = require('./location-identifier')
const formatCoord = require('./coord')
const formatPoi = (p) => {
@ -8,13 +9,14 @@ const formatPoi = (p) => {
}
return {
type: 'P',
name: p.name,
lid: 'L=' + p.id,
crd: {
x: formatCoord(p.longitude),
y: formatCoord(p.latitude)
}
lid: formatLocationIdentifier({
A: '4', // POI
O: p.name,
L: p.id,
X: formatCoord(p.longitude),
Y: formatCoord(p.latitude)
})
}
}

View file

@ -1,5 +1,15 @@
'use strict'
const formatStation = id => ({type: 'S', lid: 'L=' + id})
const formatLocationIdentifier = require('./location-identifier')
const formatStation = (id) => {
return {
// todo: name necessary?
lid: formatLocationIdentifier({
A: '1', // station
L: id
})
}
}
module.exports = formatStation