-
Notifications
You must be signed in to change notification settings - Fork 1
/
place.js
41 lines (34 loc) · 1.22 KB
/
place.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
"use strict";
const cm = require("./common.js");
/**
* Place AutoSuggest
* @ async
* @alias hm:placeAutoSuggest
* @param opt {Object} options of autosuggest
* @param opt.search {String} search string
* @param opt.center {Coord} center search around this coord
* @return {Promise} Array of {res,title,value,coord}
*/
function placeAutoSuggest(opt) {
const params = cm.addCredentials({
at: opt.center[0] + "," + opt.center[1],
q: opt.search
});
const url = cm.buildUrl("places", "api.here.com/places/v1/autosuggest");
return cm.hereRest(url, params, "get", false)
.then(res => {
let places = res.body.results.filter(place => place.vicinity); // keep only if vicinity field is present
return places.map(place => {
return {
title: place.title,
//value: place.title + ', ' + place.vicinity.replace(/<br\/>/g, ", ") + ' (' + place.category + ')',
value: place.title + ", " + place.vicinity.replace(/<br\/>/g, ", "),
coord: place.position,
res: place,
};
});
});
}
module.exports = {
placeAutoSuggest: placeAutoSuggest
};