login at: https://account.here.com/ but can't go anywhere from there.
login: skyking@ pw: z...x
App ID iHhVL3W02cDihHWduigP
App Code e07OhHXvVW1y3loeiXVaHA
// Instantiate the Platform class with authentication and
// authorization credentials:
var platform = new H.service.Platform({
app_id: 'iHhVL3W02cDihHWduigP',
app_code: 'e07OhHXvVW1y3loeiXVaHA'
});
and for reference:
var city = [ -77.0596, 38.9383 ];
var country = [ -77.031414, 39.032967 ];
var burlington = [ -79.484851, 36.085808 ];
var ken = [ -82.363946, 36.439739 ];
var david_nancy = [ -80.792724, 35.551119 ];
for H.Map() center:
center: { lng: -77.0596, lat: 38.9383 }, // city place
center: { lng: -77.031414, lat: 39.032967 }, // country place
center: { lng: -79.484851, lat: 36.085808 }, // devonshire ln
center: { lng: -82.363946, lat: 36.439739 }, // piney flats
center: { lng: -80.792724, lat: 35.551119 }, // mooresville
some local addresses:
3701 Connecticut Ave. NW, Washington, DC
849 Upshur St NW, Washington, DC 20011
12/4/2018: here.ilc.com moved over to cherrypy application
new address is: http://here.ilikecarrots.com/here.html
done: fix cherrypy + site.py to have multiple domains served by one server
TODO: faa network BLOCKS cross-domain access; solutions: https (will need new certificate), or just work on it at home:
has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://here.ilikecarrots.com' is therefore not allowed access.
not sure what do do; works fine from home hp.
initial source copied from here:
https://developer.here.com/documentation/maps/topics/quick-start.html
cherrypy server works fine; proceeding...
versions of js:
query url and return value are shown at the bottom of these notes.
difference in url parameters: https://developer.here.com/documentation/places/topics/request-constructing.html
attributes in place responses: https://developer.here.com/documentation/places/topics_api/media-type-place.html
This example retrieves a list of restaurants, in and around the Chinatown district of San Francisco https://developer.here.com/api-explorer/rest/places/places-search-by-query
(stupid) Turn Text Into HERE Maps with Python NLTK https://developer.here.com/blog/turn-text-into-here-maps-with-python-nltk
Suggesting Places with jQuery, Geolocation, and the HERE Places API https://developer.here.com/blog/suggesting-places-with-jquery-geolocation-and-the-here-places-api
frameworks (most seem to be node.js-based):
here items using above frameworks:
here alone: https://developer.here.com/documentation/maps/topics/overview.html
Display HERE Maps within your Angular Web Application: https://developer.here.com/blog/display-here-maps-angular-web-application
Showing a HERE Map with the Vue.js JavaScript Framework: https://developer.here.com/blog/showing-a-here-map-with-the-vue.js-javascript-framework
proposed new app layout (based on refs above):
SINCE it looks like AngularJS is hard, will concentrate on VueJS for now.
https://developer.here.com/blog/showing-a-here-map-with-the-vue.js-javascript-framework
btw, their comment on AngularJS's: (from https://vuejs.org/v2/guide/comparison.html#AngularJS-Angular-1 )
Complexity: Vue is much simpler than AngularJS, both in terms of API and design. Learning enough to build non-trivial applications typically takes less than a day, which is not true for AngularJS.
Ok, here goes...
> mkdir vue+here
> cd vue+here/
> npm install -g @vue/cli
+ @vue/cli@3.2.1
added 670 packages from 502 contributors in 85.011s
then:
> vue create vmaps
Vue CLI v3.2.1
X Creating project in /home/wendell/gis/applications/vue+here/vmaps.
X Initializing git repository...
X Installing CLI plugins. This might take a while...
> yorkie@2.0.0 install /home/wendell/gis/applications/vue+here/vmaps/node_modules/yorkie
> node bin/install.js
setting up Git hooks
done
added 1109 packages from 738 contributors and audited 14792 packages in 41.668s
found 0 vulnerabilities
X Invoking generators...
X Installing additional dependencies...
added 26 packages from 23 contributors, updated 2 packages, moved 5 packages and audited 15083 packages in 12.673s
found 0 vulnerabilities
⚓ Running completion hooks...
X Generating README.md...
X Successfully created project vmaps.
X Get started with the following commands:
$ cd vmaps
$ npm run serve
WARN Skipped git commit due to missing username and email in git config.
You will need to perform the initial commit yourself.
That seems to have created the framework. Since it is on webfaction, and 'npm run start' is incredibly brain-dead, will not run locally, but will always 'compile' and move to cherrypy server.
> cd vmaps/
> ls public/
favicon.ico index.html
> cp index.html orig_index.html
> vim index.html
as indicated in vue page...
cd ~/gis/applications/vue+here/vmaps/src/components
> vim HereMap.vue
and do the App.vue as indicated, then try to build:
wendell@webfaction:~/gis/applications/vue+here/vmaps
> npm run-script build
HMM..., first build had errors in reference to H.xxx,
https://developer.here.com/blog/showing-a-here-map-with-the-vue.js-javascript-framework says:
To answer your question, the H constructor is loaded through the scripts in the index.html file. Your linter might complain (depending on which you use), but the application will still work fine.`
subsequent builds were not able to replicate...
and to deploy
> cp -r dist ~/webapps/cherry/vue
PROBLEM: (now fixed) no refs to vue/*, all put into top-level dir for now.
YIPEE!!!, yes, a map shows up!
in root dir:
wendell@webfaction:~/gis/applications/vue+here/vmaps
> vim vue.config.js
module.exports = {
baseUrl: "./vue1/"
};
and then:
make build
> cp -r dist/* ~/webapps/cherry/vue/
Hmm..., 'index.html' must be at top level, but that does work for the rest of the files.
looks good, will continue with vuejs.js.js.js...
this tutorial appears to be by the same author, so it will prob. follow same format...
vue create here-marker-project
vim public/index.html
vim src/components/HereMap.vue
vim src/App.vue
vim src/components/HereMap.vue
it says we should be good to go, so setup local environ for build:
cp ../vmaps/vue.config.js .
cp ../vmaps/makefile .
and vim both for myvue2.html and /vue2/ dir
and
http://here.ilikecarrots.com/myvue2.html
shows with a marker!
Working with exact coordinates is nice, but we can do better.
will proceed with address finder...
vim src/components/HereMap.vue
vim src/App.vue
ok, it works, but so what??? proceeding to part 3. ...
BUT, the above dirs & projects have been rearranged:
~/gis/applications/ol5+node
~/gis/applications/vue+first
~/gis/applications/here-marker-project
"In this tutorial, we’re going to see how to search for nearby places using the HERE Places API for JavaScript and display those points of interest on a map using the Vue.js JavaScript framework."
wendell@webfaction:~/gis/applications
vue create here-places-project
cd here-places-project/
vim public/index.html
vim src/components/HereMap.vue
vim src/App.vue
vim src/components/HereMap.vue
vim src/App.vue
> vim src/components/HereMap.vue
cp ../here-marker-project/makefile .
vim makefile
cp ../here-marker-project/vue.config.js .
vim vue.config.js
make build
make install
and
http://here.ilikecarrots.com/myvue3.html
seems to work, but slow!
edits for initial location changed to city place:
vim src/App.vue
city place, and s/Starbucks/ice cream/
AND IT IS LOOKING GOOD!!!
dir structure is now:
~/gis/applications/ol5+node
~/gis/applications/vue+first
~/gis/applications/here-marker-project
~/gis/applications/here-places-project
vue create here-routing-project
cd here-routing-project/
vim public/index.html
vim src/components/HereMap.vue
a curious statement about vue:
We're going to plan ahead and use promises rather than callbacks which will help us drastically.
cp ../here-marker-project/makefile .
vim makefile
cp ../here-marker-project/vue.config.js .
vim vue.config.js
make build
make install
Yipee!!! routing works:
try this:
3701 Connecticut Ave. NW, Washington, DC 20008
849 Upshur St NW, Washington, DC 20011
tutorials: https://openlocation.here.com/resources/documentation
api docs: https://developer.here.com/documentation#geocoder
other docs: https://developer.here.com/documentation/maps/topics/discovering-places.html
Maps API for JavaScript:
routing: https://developer.here.com/api-explorer/maps-js/v3.0/servicesRouting/map-with-route-from-a-to-b
can't find where the .pdf's are...
query url and return value:
https://places.api.here.com/places/v1/discover/search?at=38.9383,-77.0596&q=restaurant&app_id=iHhVL3W02cDihHWduigP&app_code=e07OhHXvVW1y3loeiXVaHA
{
"results": {
"next": "https:\/\/places.api.here.com\/places\/v1\/discover\/search;context=Zmxv...&q=restaurant&app_id=...&app_code=e07OhHXvVW1y3loeiXVaHA",
"items": [
{
"position": [
38.93404,
-77.05741
],
"distance": 510,
"title": "Nanny O'Briens",
"averageRating": 0,
"category": {
"id": "restaurant",
"title": "Restaurant",
"href": "https:\/\/places.api.here.com\/places\/v1\/categories\/places\/restaurant?app_id=iHhVL3W02cDihHWduigP&app_code=e07OhHXvVW1y3loeiXVaHA",
"type": "urn:nlp-types:category",
"system": "places"
},
"icon": "https:\/\/download.vcdn.data.here.com\/p\/d\/places2\/icons\/categories\/03.icon",
"vicinity": "3319 Connecticut Ave NW<br\/>Washington, DC 20008",
"having": [],
"type": "urn:nlp-types:place",
"href": "https:\/\/places.api.here.com\/places\/v1\/places\/...
"tags": [
{
"id": "grill",
"title": "Grill",
"group": "cuisine"
},
{
"id": "irish",
"title": "Irish",
"group": "cuisine"
},
{
"id": "sandwich",
"title": "Sandwiches",
"group": "cuisine"
}
],
"id": "840dqcjq-a452a6f2109749458efc316f7c86f1cc",
"openingHours": {
"text": "Mon-Fri: 12:00 - 02:00<br\/>Sat, Sun: 12:00 - 03:00",
"label": "Opening hours",
"isOpen": false,
"structured": [
{
"start": "T120000",
"duration": "PT14H00M",
"recurrence": "FREQ:DAILY;BYDAY:MO,TU,WE,TH,FR"
},
{
"start": "T120000",
"duration": "PT15H00M",
"recurrence": "FREQ:DAILY;BYDAY:SA,SU"
}
]
},
"alternativeNames": [
{
"name": "Nanny O'Brien's Irish Pub",
"language": "en"
},
{
"name": "Nanny O'Brien's Pub",
"language": "en"
},
{
"name": "Nanny O'Briens Irish Pub",
"language": "en"
},
{
"name": "Nanny O'Brien\u2019s Irish Pub",
"language": "en"
}
]
},
{
"position": [
38.93632,
-77.05889
],
"distance": 229,
"title": "Palena",
... ... ...
]
},
... ... ...
"search": {
"context": {
"location": {
"position": [
38.9383,
-77.0596
],
"address": {
"text": "3701 Connecticut Ave NW<br\/>Washington, DC 20008<br\/>USA",
"house": "3701",
"street": "Connecticut Ave NW",
"postalCode": "20008",
"district": "Cleveland Park",
"city": "Washington",
"county": "District of Columbia",
"stateCode": "DC",
"country": "United States",
"countryCode": "USA"
}
},
"type": "urn:nlp-types:place",
"href": "https:\/\/places.api.here.com\/places\/v1\/places\/loc-dmV...&app_code=..."
},
"supportsPanning": true,
"ranking": "category-recommendations"
}
}
@@@@@@@@@@@@@@@@@@@@@@22
H.service.jsonp.handleResponse(8)(
{"response":{"metaInfo":{"timestamp":"2018-12-10T00:20:27Z","mapVersion":"8.30.91.151","moduleVersion":"7.2.201848-845","interfaceVersion":"2.6.34","availableMapVersion":["8.30.91.151"]},"route":[{"waypoint":[{"linkId":"+18418359","mappedPosition":{"latitude":38.9381969,"longitude":-77.0600367},"originalPosition":{"latitude":38.9383,"longitude":-77.0599},"type":"stopOver","spot":0.0,"sideOfStreet":"right","mappedRoadName":"Connecticut Ave NW","label":"Connecticut Ave NW","shapeIndex":0},{"linkId":"+1219492797","mappedPosition":{"latitude":38.9418921,"longitude":-77.0247965},"originalPosition":{"latitude":38.94202,"longitude":-77.0248001},"type":"stopOver","spot":0.4259259,"sideOfStreet":"left","mappedRoadName":"Upshur St NW","label":"Upshur St NW","shapeIndex":53}],"mode":{"type":"fastest","transportModes":["car"],"trafficMode":"disabled","feature":[]},"shape":["38.9381969,-77.0600367","38.9387012,-77.0603478","38.9393449,-77.0607018","38.9408898,-77.0616138","38.9409006,-77.0586312","38.9408684,-77.057687","38.9408898,-77.0567","38.9408684,-77.0562494","38.9407933,-77.0558739","38.9407074,-77.0556378","38.9406538,-77.0554125","38.9406002,-77.0550263","38.9406323,-77.054683","38.9408147,-77.0533526","38.940804,-77.0531058","38.9407825,-77.0529664","38.9406967,-77.0527625","38.9406216,-77.0526338","38.94045,-77.0523977","38.9403105,-77.0522475","38.939935,-77.0519042","38.9398062,-77.0517647","38.9396882,-77.0516038","38.9394736,-77.0512283","38.9400959,-77.0510566","38.9406002,-77.0508635","38.9411151,-77.0507991","38.941319,-77.0507455","38.9418983,-77.0504344","38.9428103,-77.0500267","38.9430034,-77.0499194","38.9430463,-77.0498657","38.9432395,-77.0495331","38.9433146,-77.0492005","38.9432716,-77.0487177","38.9431858,-77.0483422","38.9431214,-77.0481384","38.9429605,-77.0477414","38.9426601,-77.0470548","38.9426172,-77.0468616","38.9426172,-77.0466256","38.9427888,-77.0457673","38.9430356,-77.0451343","38.9431751,-77.0448768","38.9433897,-77.0445979","38.9445376,-77.043525","38.9450848,-77.0429456","38.9450526,-77.041229","38.9450741,-77.0409608","38.9450741,-77.0364654","38.9450526,-77.0296955","38.9418662,-77.0296955","38.9418769,-77.0255113","38.9418921,-77.0247965"],"leg":[{"maneuver":[{"position":{"latitude":38.9381969,"longitude":-77.0600367},"instruction":"Head toward Sedgwick St NW on Connecticut Ave NW. Go for 329 m.","travelTime":36,"length":329,"shape":["38.9381969,-77.0600367","38.9387012,-77.0603478","38.9393449,-77.0607018","38.9408898,-77.0616138"],"note":[],"id":"M1","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9408898,"longitude":-77.0616138},"instruction":"Turn right onto . Go for 965 m.","travelTime":121,"length":965,"shape":["38.9408898,-77.0616138","38.9409006,-77.0586312","38.9408684,-77.057687","38.9408898,-77.0567","38.9408684,-77.0562494","38.9407933,-77.0558739","38.9407074,-77.0556378","38.9406538,-77.0554125","38.9406002,-77.0550263","38.9406323,-77.054683","38.9408147,-77.0533526","38.940804,-77.0531058","38.9407825,-77.0529664","38.9406967,-77.0527625","38.9406216,-77.0526338","38.94045,-77.0523977","38.9403105,-77.0522475","38.939935,-77.0519042","38.9398062,-77.0517647","38.9396882,-77.0516038","38.9394736,-77.0512283"],"note":[{"type":"warning","code":"restrictedTurn","text":"Turn may be temporarily forbidden"}],"id":"M2","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9394736,"longitude":-77.0512283},"instruction":"Turn left onto . Go for 418 m.","travelTime":39,"length":418,"shape":["38.9394736,-77.0512283","38.9400959,-77.0510566","38.9406002,-77.0508635","38.9411151,-77.0507991","38.941319,-77.0507455","38.9418983,-77.0504344","38.9428103,-77.0500267","38.9430034,-77.0499194","38.9430463,-77.0498657"],"note":[],"id":"M3","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9430463,"longitude":-77.0498657},"instruction":"Turn right onto . Go for 740 m.","travelTime":82,"length":740,"shape":["38.9430463,-77.0498657","38.9432395,-77.0495331","38.9433146,-77.0492005","38.9432716,-77.0487177","38.9431858,-77.0483422","38.9431214,-77.0481384","38.9429605,-77.0477414","38.9426601,-77.0470548","38.9426172,-77.0468616","38.9426172,-77.0466256","38.9427888,-77.0457673","38.9430356,-77.0451343","38.9431751,-77.0448768","38.9433897,-77.0445979","38.9445376,-77.043525","38.9450848,-77.0429456"],"note":[],"id":"M4","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9450848,"longitude":-77.0429456},"instruction":"Turn right onto . Go for 560 m.","travelTime":98,"length":560,"shape":["38.9450848,-77.0429456","38.9450526,-77.041229","38.9450741,-77.0409608","38.9450741,-77.0364654"],"note":[],"id":"M5","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9450741,"longitude":-77.0364654},"instruction":"Continue on . Go for 586 m.","travelTime":110,"length":586,"shape":["38.9450741,-77.0364654","38.9450526,-77.0296955"],"note":[],"id":"M6","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9450526,"longitude":-77.0296955},"instruction":"Turn right onto . Go for 353 m.","travelTime":44,"length":353,"shape":["38.9450526,-77.0296955","38.9418662,-77.0296955"],"note":[],"id":"M7","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9418662,"longitude":-77.0296955},"instruction":"Turn left onto . Go for 425 m.","travelTime":63,"length":425,"shape":["38.9418662,-77.0296955","38.9418769,-77.0255113","38.9418921,-77.0247965"],"note":[],"id":"M8","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9418921,"longitude":-77.0247965},"instruction":"Arrive at Upshur St NW. Your destination is on the left.","travelTime":1,"length":14,"shape":["38.9418921,-77.0247965"],"note":[{"type":"info","code":"previousIntersection","text":"The last intersection is 9th St NW"},{"type":"info","code":"nextIntersection","text":"If you reach , you’ve gone too far"}],"id":"M9","_type":"PrivateTransportManeuverType"}]}]}],"language":"en-us"}}
{
"response": {
"metaInfo": {
"timestamp": "2018-12-10T00:20:27Z",
"mapVersion": "8.30.91.151",
"moduleVersion": "7.2.201848-845",
"interfaceVersion": "2.6.34",
"availableMapVersion": [
"8.30.91.151"
]
},
"route": [
{
"waypoint": [
{
"linkId": "+18418359",
"mappedPosition": {
"latitude": 38.9381969,
"longitude": -77.0600367
},
"originalPosition": {
"latitude": 38.9383,
"longitude": -77.0599
},
"type": "stopOver",
"spot": 0,
"sideOfStreet": "right",
"mappedRoadName": "Connecticut Ave NW",
"label": "Connecticut Ave NW",
"shapeIndex": 0
},
{
"linkId": "+1219492797",
"mappedPosition": {
"latitude": 38.9418921,
"longitude": -77.0247965
},
"originalPosition": {
"latitude": 38.94202,
"longitude": -77.0248001
},
"type": "stopOver",
"spot": 0.4259259,
"sideOfStreet": "left",
"mappedRoadName": "Upshur St NW",
"label": "Upshur St NW",
"shapeIndex": 53
}
],
"mode": {
"type": "fastest",
"transportModes": [
"car"
],
"trafficMode": "disabled",
"feature": []
},
"shape": [
"38.9381969,-77.0600367",
"38.9387012,-77.0603478",
"38.9393449,-77.0607018",
"38.9408898,-77.0616138",
"38.9409006,-77.0586312",
"38.9408684,-77.057687",
"38.9408898,-77.0567",
"38.9408684,-77.0562494",
"38.9407933,-77.0558739",
"38.9407074,-77.0556378",
"38.9406538,-77.0554125",
"38.9406002,-77.0550263",
"38.9406323,-77.054683",
"38.9408147,-77.0533526",
"38.940804,-77.0531058",
"38.9407825,-77.0529664",
"38.9406967,-77.0527625",
"38.9406216,-77.0526338",
"38.94045,-77.0523977",
"38.9403105,-77.0522475",
"38.939935,-77.0519042",
"38.9398062,-77.0517647",
"38.9396882,-77.0516038",
"38.9394736,-77.0512283",
"38.9400959,-77.0510566",
"38.9406002,-77.0508635",
"38.9411151,-77.0507991",
"38.941319,-77.0507455",
"38.9418983,-77.0504344",
"38.9428103,-77.0500267",
"38.9430034,-77.0499194",
"38.9430463,-77.0498657",
"38.9432395,-77.0495331",
"38.9433146,-77.0492005",
"38.9432716,-77.0487177",
"38.9431858,-77.0483422",
"38.9431214,-77.0481384",
"38.9429605,-77.0477414",
"38.9426601,-77.0470548",
"38.9426172,-77.0468616",
"38.9426172,-77.0466256",
"38.9427888,-77.0457673",
"38.9430356,-77.0451343",
"38.9431751,-77.0448768",
"38.9433897,-77.0445979",
"38.9445376,-77.043525",
"38.9450848,-77.0429456",
"38.9450526,-77.041229",
"38.9450741,-77.0409608",
"38.9450741,-77.0364654",
"38.9450526,-77.0296955",
"38.9418662,-77.0296955",
"38.9418769,-77.0255113",
"38.9418921,-77.0247965"
],
"leg": [
{
"maneuver": [
{
"position": {
"latitude": 38.9381969,
"longitude": -77.0600367
},
"instruction": "Head toward <span class=\"toward_street\">Sedgwick St NW<\/span> on <span class=\"street\">Connecticut Ave NW<\/span>. <span class=\"distance-description\">Go for <span class=\"length\">329 m<\/span>.<\/span>",
"travelTime": 36,
"length": 329,
"shape": [
"38.9381969,-77.0600367",
"38.9387012,-77.0603478",
"38.9393449,-77.0607018",
"38.9408898,-77.0616138"
],
"note": [],
"id": "M1",
"_type": "PrivateTransportManeuverType"
},
{
"position": {
"latitude": 38.9408898,
"longitude": -77.0616138
},
"instruction": "Turn <span class=\"direction\">right<\/span> onto <span class=\"next-street\">Tilden St NW<\/span>. <span class=\"distance-description\">Go for <span class=\"length\">965 m<\/span>.<\/span>",
"travelTime": 121,
"length": 965,
"shape": [
"38.9408898,-77.0616138",
"38.9409006,-77.0586312",
"38.9408684,-77.057687",
"38.9408898,-77.0567",
"38.9408684,-77.0562494",
"38.9407933,-77.0558739",
"38.9407074,-77.0556378",
"38.9406538,-77.0554125",
"38.9406002,-77.0550263",
"38.9406323,-77.054683",
"38.9408147,-77.0533526",
"38.940804,-77.0531058",
"38.9407825,-77.0529664",
"38.9406967,-77.0527625",
"38.9406216,-77.0526338",
"38.94045,-77.0523977",
"38.9403105,-77.0522475",
"38.939935,-77.0519042",
"38.9398062,-77.0517647",
"38.9396882,-77.0516038",
"38.9394736,-77.0512283"
],
"note": [
{
"type": "warning",
"code": "restrictedTurn",
"text": "Turn may be temporarily forbidden"
}
],
"id": "M2",
"_type": "PrivateTransportManeuverType"
},
{
"position": {
"latitude": 38.9394736,
"longitude": -77.0512283
},
"instruction": "Turn <span class=\"direction\">left<\/span> onto <span class=\"next-street\">Beach Dr NW<\/span>. <span class=\"distance-description\">Go for <span class=\"length\">418 m<\/span>.<\/span>",
"travelTime": 39,
"length": 418,
"shape": [
"38.9394736,-77.0512283",
"38.9400959,-77.0510566",
"38.9406002,-77.0508635",
"38.9411151,-77.0507991",
"38.941319,-77.0507455",
"38.9418983,-77.0504344",
"38.9428103,-77.0500267",
"38.9430034,-77.0499194",
"38.9430463,-77.0498657"
],
"note": [],
"id": "M3",
"_type": "PrivateTransportManeuverType"
},
{
"position": {
"latitude": 38.9430463,
"longitude": -77.0498657
},
"instruction": "Turn <span class=\"direction\">right<\/span> onto <span class=\"next-street\">Blagden Ave NW<\/span>. <span class=\"distance-description\">Go for <span class=\"length\">740 m<\/span>.<\/span>",
"travelTime": 82,
"length": 740,
"shape": [
"38.9430463,-77.0498657",
"38.9432395,-77.0495331",
"38.9433146,-77.0492005",
"38.9432716,-77.0487177",
"38.9431858,-77.0483422",
"38.9431214,-77.0481384",
"38.9429605,-77.0477414",
"38.9426601,-77.0470548",
"38.9426172,-77.0468616",
"38.9426172,-77.0466256",
"38.9427888,-77.0457673",
"38.9430356,-77.0451343",
"38.9431751,-77.0448768",
"38.9433897,-77.0445979",
"38.9445376,-77.043525",
"38.9450848,-77.0429456"
],
"note": [],
"id": "M4",
"_type": "PrivateTransportManeuverType"
},
{
"position": {
"latitude": 38.9450848,
"longitude": -77.0429456
},
"instruction": "Turn <span class=\"direction\">right<\/span> onto <span class=\"next-street\">Allison St NW<\/span>. <span class=\"distance-description\">Go for <span class=\"length\">560 m<\/span>.<\/span>",
"travelTime": 98,
"length": 560,
"shape": [
"38.9450848,-77.0429456",
"38.9450526,-77.041229",
"38.9450741,-77.0409608",
"38.9450741,-77.0364654"
],
"note": [],
"id": "M5",
"_type": "PrivateTransportManeuverType"
},
{
"position": {
"latitude": 38.9450741,
"longitude": -77.0364654
},
"instruction": "Continue on <span class=\"next-street\">Allison St NW<\/span>. <span class=\"distance-description\">Go for <span class=\"length\">586 m<\/span>.<\/span>",
"travelTime": 110,
"length": 586,
"shape": [
"38.9450741,-77.0364654",
"38.9450526,-77.0296955"
],
"note": [],
"id": "M6",
"_type": "PrivateTransportManeuverType"
},
{
"position": {
"latitude": 38.9450526,
"longitude": -77.0296955
},
"instruction": "Turn <span class=\"direction\">right<\/span> onto <span class=\"next-street\">13th St NW<\/span>. <span class=\"distance-description\">Go for <span class=\"length\">353 m<\/span>.<\/span>",
"travelTime": 44,
"length": 353,
"shape": [
"38.9450526,-77.0296955",
"38.9418662,-77.0296955"
],
"note": [],
"id": "M7",
"_type": "PrivateTransportManeuverType"
},
{
"position": {
"latitude": 38.9418662,
"longitude": -77.0296955
},
"instruction": "Turn <span class=\"direction\">left<\/span> onto <span class=\"next-street\">Upshur St NW<\/span>. <span class=\"distance-description\">Go for <span class=\"length\">425 m<\/span>.<\/span>",
"travelTime": 63,
"length": 425,
"shape": [
"38.9418662,-77.0296955",
"38.9418769,-77.0255113",
"38.9418921,-77.0247965"
],
"note": [],
"id": "M8",
"_type": "PrivateTransportManeuverType"
},
{
"position": {
"latitude": 38.9418921,
"longitude": -77.0247965
},
"instruction": "Arrive at <span class=\"street\">Upshur St NW<\/span>. Your destination is on the left.",
"travelTime": 1,
"length": 14,
"shape": [
"38.9418921,-77.0247965"
],
"note": [
{
"type": "info",
"code": "previousIntersection",
"text": "The last intersection is <span class=\"street\">9th St NW<\/span>"
},
{
"type": "info",
"code": "nextIntersection",
"text": "If you reach <span class=\"next-street\">8th St NW<\/span>, you\u2019ve gone too far"
}
],
"id": "M9",
"_type": "PrivateTransportManeuverType"
}
]
}
]
}
],
"language": "en-us"
}
}
);
http://geocoder.api.here.com/6.2/geocode.json?xnlp=CL_JSMv3.0.17.0&app_id=iHhVL3W02cDihHWduigP&app_code=e07OhHXvVW1y3loeiXVaHA&searchText=3701 Connecticut Ave. NW, Washington, DC&jsoncallback=H.service.jsonp.handleResponse(6)
H.service.jsonp.handleResponse(6)(
{"Response":{"MetaInfo":{"Timestamp":"2018-12-10T00:20:28.065+0000"},"View":[{"_type":"SearchResultsViewType","ViewId":0,"Result":[{"Relevance":1.0,"MatchLevel":"houseNumber","MatchQuality":{"State":1.0,"City":1.0,"Street":[1.0],"HouseNumber":1.0},"MatchType":"pointAddress","Location":{"LocationId":"NT_oNDbh8rhvZ56KVOF45zf1B_zcDMxA","LocationType":"point","DisplayPosition":{"Latitude":38.9383,"Longitude":-77.0599},"NavigationPosition":[{"Latitude":38.93824,"Longitude":-77.06006}],"MapView":{"TopLeft":{"Latitude":38.9394242,"Longitude":-77.0613453},"BottomRight":{"Latitude":38.9371758,"Longitude":-77.0584547}},"Address":{"Label":"3701 Connecticut Ave NW, Washington, DC 20008, United States","Country":"USA","State":"DC","County":"District of Columbia","City":"Washington","District":"Cleveland Park","Street":"Connecticut Ave NW","HouseNumber":"3701","PostalCode":"20008","AdditionalData":[{"value":"United States","key":"CountryName"},{"value":"District of Columbia","key":"StateName"},{"value":"District of Columbia","key":"CountyName"},{"value":"N","key":"PostalCodeType"}]}}}]}]}}
)
http://geocoder.api.here.com/6.2/geocode.json?xnlp=CL_JSMv3.0.17.0&app_id=iHhVL3W02cDihHWduigP&app_code=e07OhHXvVW1y3loeiXVaHA&searchText=849 Upshur St NW, Washington, DC 20011&jsoncallback=H.service.jsonp.handleResponse(7)
H.service.jsonp.handleResponse(7)(
{"Response":{"MetaInfo":{"Timestamp":"2018-12-10T00:20:28.071+0000"},"View":[{"_type":"SearchResultsViewType","ViewId":0,"Result":[{"Relevance":1.0,"MatchLevel":"houseNumber","MatchQuality":{"State":1.0,"City":1.0,"Street":[1.0],"HouseNumber":1.0,"PostalCode":1.0},"MatchType":"pointAddress","Location":{"LocationId":"NT_214eK6TMrBPCs1Lkp6GJzD_4QTO","LocationType":"point","DisplayPosition":{"Latitude":38.94202,"Longitude":-77.0248},"NavigationPosition":[{"Latitude":38.94189,"Longitude":-77.02479}],"MapView":{"TopLeft":{"Latitude":38.9431442,"Longitude":-77.0262453},"BottomRight":{"Latitude":38.9408958,"Longitude":-77.0233547}},"Address":{"Label":"849 Upshur St NW, Washington, DC 20011, United States","Country":"USA","State":"DC","County":"District of Columbia","City":"Washington","District":"Petworth","Street":"Upshur St NW","HouseNumber":"849","PostalCode":"20011","AdditionalData":[{"value":"United States","key":"CountryName"},{"value":"District of Columbia","key":"StateName"},{"value":"District of Columbia","key":"CountyName"},{"value":"N","key":"PostalCodeType"}]}}}]}]}}
)
H.service.jsonp.handleResponse(8)(
{"response":{"metaInfo":{"timestamp":"2018-12-10T02:16:51Z","mapVersion":"8.30.91.151","moduleVersion":"7.2.201848-845","interfaceVersion":"2.6.34","availableMapVersion":["8.30.91.151"]},"route":[{"waypoint":[{"linkId":"+18418359","mappedPosition":{"latitude":38.9381969,"longitude":-77.0600367},"originalPosition":{"latitude":38.9383,"longitude":-77.0599},"type":"stopOver","spot":0.0,"sideOfStreet":"right","mappedRoadName":"Connecticut Ave NW","label":"Connecticut Ave NW","shapeIndex":0},{"linkId":"+1219492797","mappedPosition":{"latitude":38.9418921,"longitude":-77.0247965},"originalPosition":{"latitude":38.94202,"longitude":-77.0248001},"type":"stopOver","spot":0.4259259,"sideOfStreet":"left","mappedRoadName":"Upshur St NW","label":"Upshur St NW","shapeIndex":53}],"mode":{"type":"fastest","transportModes":["car"],"trafficMode":"disabled","feature":[]},"shape":["38.9381969,-77.0600367","38.9387012,-77.0603478","38.9393449,-77.0607018","38.9408898,-77.0616138","38.9409006,-77.0586312","38.9408684,-77.057687","38.9408898,-77.0567","38.9408684,-77.0562494","38.9407933,-77.0558739","38.9407074,-77.0556378","38.9406538,-77.0554125","38.9406002,-77.0550263","38.9406323,-77.054683","38.9408147,-77.0533526","38.940804,-77.0531058","38.9407825,-77.0529664","38.9406967,-77.0527625","38.9406216,-77.0526338","38.94045,-77.0523977","38.9403105,-77.0522475","38.939935,-77.0519042","38.9398062,-77.0517647","38.9396882,-77.0516038","38.9394736,-77.0512283","38.9400959,-77.0510566","38.9406002,-77.0508635","38.9411151,-77.0507991","38.941319,-77.0507455","38.9418983,-77.0504344","38.9428103,-77.0500267","38.9430034,-77.0499194","38.9430463,-77.0498657","38.9432395,-77.0495331","38.9433146,-77.0492005","38.9432716,-77.0487177","38.9431858,-77.0483422","38.9431214,-77.0481384","38.9429605,-77.0477414","38.9426601,-77.0470548","38.9426172,-77.0468616","38.9426172,-77.0466256","38.9427888,-77.0457673","38.9430356,-77.0451343","38.9431751,-77.0448768","38.9433897,-77.0445979","38.9445376,-77.043525","38.9450848,-77.0429456","38.9450526,-77.041229","38.9450741,-77.0409608","38.9450741,-77.0364654","38.9450526,-77.0296955","38.9418662,-77.0296955","38.9418769,-77.0255113","38.9418921,-77.0247965"],"leg":[{"maneuver":[{"position":{"latitude":38.9381969,"longitude":-77.0600367},"instruction":"Head toward Sedgwick St NW on Connecticut Ave NW. Go for 329 m.","travelTime":36,"length":329,"shape":["38.9381969,-77.0600367","38.9387012,-77.0603478","38.9393449,-77.0607018","38.9408898,-77.0616138"],"note":[],"id":"M1","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9408898,"longitude":-77.0616138},"instruction":"Turn right onto . Go for 965 m.","travelTime":121,"length":965,"shape":["38.9408898,-77.0616138","38.9409006,-77.0586312","38.9408684,-77.057687","38.9408898,-77.0567","38.9408684,-77.0562494","38.9407933,-77.0558739","38.9407074,-77.0556378","38.9406538,-77.0554125","38.9406002,-77.0550263","38.9406323,-77.054683","38.9408147,-77.0533526","38.940804,-77.0531058","38.9407825,-77.0529664","38.9406967,-77.0527625","38.9406216,-77.0526338","38.94045,-77.0523977","38.9403105,-77.0522475","38.939935,-77.0519042","38.9398062,-77.0517647","38.9396882,-77.0516038","38.9394736,-77.0512283"],"note":[{"type":"warning","code":"restrictedTurn","text":"Turn may be temporarily forbidden"}],"id":"M2","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9394736,"longitude":-77.0512283},"instruction":"Turn left onto . Go for 418 m.","travelTime":39,"length":418,"shape":["38.9394736,-77.0512283","38.9400959,-77.0510566","38.9406002,-77.0508635","38.9411151,-77.0507991","38.941319,-77.0507455","38.9418983,-77.0504344","38.9428103,-77.0500267","38.9430034,-77.0499194","38.9430463,-77.0498657"],"note":[],"id":"M3","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9430463,"longitude":-77.0498657},"instruction":"Turn right onto . Go for 740 m.","travelTime":82,"length":740,"shape":["38.9430463,-77.0498657","38.9432395,-77.0495331","38.9433146,-77.0492005","38.9432716,-77.0487177","38.9431858,-77.0483422","38.9431214,-77.0481384","38.9429605,-77.0477414","38.9426601,-77.0470548","38.9426172,-77.0468616","38.9426172,-77.0466256","38.9427888,-77.0457673","38.9430356,-77.0451343","38.9431751,-77.0448768","38.9433897,-77.0445979","38.9445376,-77.043525","38.9450848,-77.0429456"],"note":[],"id":"M4","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9450848,"longitude":-77.0429456},"instruction":"Turn right onto . Go for 560 m.","travelTime":98,"length":560,"shape":["38.9450848,-77.0429456","38.9450526,-77.041229","38.9450741,-77.0409608","38.9450741,-77.0364654"],"note":[],"id":"M5","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9450741,"longitude":-77.0364654},"instruction":"Continue on . Go for 586 m.","travelTime":110,"length":586,"shape":["38.9450741,-77.0364654","38.9450526,-77.0296955"],"note":[],"id":"M6","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9450526,"longitude":-77.0296955},"instruction":"Turn right onto . Go for 353 m.","travelTime":44,"length":353,"shape":["38.9450526,-77.0296955","38.9418662,-77.0296955"],"note":[],"id":"M7","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9418662,"longitude":-77.0296955},"instruction":"Turn left onto . Go for 425 m.","travelTime":63,"length":425,"shape":["38.9418662,-77.0296955","38.9418769,-77.0255113","38.9418921,-77.0247965"],"note":[],"id":"M8","_type":"PrivateTransportManeuverType"},{"position":{"latitude":38.9418921,"longitude":-77.0247965},"instruction":"Arrive at Upshur St NW. Your destination is on the left.","travelTime":1,"length":14,"shape":["38.9418921,-77.0247965"],"note":[{"type":"info","code":"previousIntersection","text":"The last intersection is 9th St NW"},{"type":"info","code":"nextIntersection","text":"If you reach , you’ve gone too far"}],"id":"M9","_type":"PrivateTransportManeuverType"}]}]}],"language":"en-us"}}
);
blog posts:
(Part 1: Basic Map Set-up) https://developer.here.com/blog/who-wants-ice-cream-a-here-maps-api-for-javascript-tutorial-part-1-basic-map-set-up
(Part 2: Geolocation) https://developer.here.com/blog/who-wants-ice-cream-a-here-maps-api-for-javascript-tutorial-part-2-geolocation
(Part 3: Basic Routing) https://developer.here.com/blog/who-wants-ice-cream-a-here-maps-api-for-javascript-tutorial-part-3-basic-routing
(Part 4: Advanced Routing) https://developer.here.com/blog/who-wants-ice-cream-a-here-maps-api-for-javascript-tutorial-part-4-advanced-routing
(Part 5: Refactoring) https://developer.here.com/blog/who-wants-ice-cream-a-here-maps-api-for-javascript-tutorial-part-5-refactoring
(Part 6: Reacting to outside influences) https://developer.here.com/blog/who-wants-ice-cream-a-here-maps-api-for-javascript-tutorial-part-6-reacting-to-outside-influences
(Part 7: Traffic) https://developer.here.com/blog/who-wants-ice-cream-a-here-maps-api-for-javascript-tutorial-part-7-traffic
(Part 8: Wrapping Up) https://developer.here.com/blog/who-wants-ice-cream-a-here-maps-api-for-javascript-tutorial-part-8-wrapping-up
What would you build to improve flying? https://developer.here.com/blog/what-would-you-build-to-improve-flying
How to Migrate from Google Maps to HERE Dynamic Maps https://developer.here.com/blog/how-to-create-a-here-dynamic-map-like-google-maps
Predictive Routing Using Traffic Patterns https://developer.here.com/blog/predictive-routing-using-traffic-patterns
Suggesting Places with jQuery, Geolocation, and the HERE Places API https://developer.here.com/blog/suggesting-places-with-jquery-geolocation-and-the-here-places-api
Searching for Points of Interest with the HERE Places API in a Vue.js Application https://developer.here.com/blog/searching-for-points-of-interest-with-the-here-places-api-in-a-vue.js-application
stupid: Turn Text Into HERE Maps with Python NLTK https://developer.here.com/blog/turn-text-into-here-maps-with-python-nltk
Building an App for Routing to Nearby Water Fountains with HERE XYZ https://developer.here.com/blog/building-an-app-routing-to-water-fountains-here-xyz
The landscape of Outdoor Mapping and Location Services by Gartner https://developer.here.com/blog/the-landscape-of-outdoor-mapping-and-location-services-by-gartner
February Release Highlights Including Searching for Fast Food Snack Places by Distance https://developer.here.com/blog/searching-for-fast-food-snack-places-by-distance-and-other-february-release-highlights
Picking an Interactive Map Theme with Vue.js https://developer.here.com/blog/picking-an-interactive-map-theme-with-vue.js
TODO: move this to its own notes page???
example is at: https://overpass-turbo.eu/
theirs is:
node
[amenity=drinking_water]
({{bbox}});
out;
after navigating to cleveland park, it shows interesting things...
other amenities:
[amenity=fountain] seems fine
[amenity='ice cream'] nothing
[amenity=ice_cream] yes, and it includes yogiberry
wikipedia says:
There is disagreement on whether amenity=ice_cream should be used or whether shop=ice_cream should be used. The meaning of both tags are about the same (the difference being amenity=ice_cream for some reason may be used for frozen yogurts too).
An alternative approach for tagging the same thing would be to tag it with cuisine=ice_cream, together with amenity=fast_food or amenity=cafe.
[amenity=cafe][cuisine=ice_cream] looks good, some results
[amenity=fast_food][cuisine=ice_cream] about the same
[shop=ice_cream] nothing
Things to try:
done: amenity=cafe + cuisine=ice_cream
done: shop=ice_cream
todo: amenity=fast_food + cuisine=ice_cream
todo: ice_cream=yes
wikipedia on IceCreamParlors: https://en.wikipedia.org/wiki/List_of_ice_cream_parlor_chains
some interesting topics on use of command line: Geospatial icecream analysis with WGET & GDAL/OGR: https://www.researchgate.net/profile/Harald_Schernthanner/publication/316472198_A_gentle_introduction_to_GDALOGR_Never_used_the_command_line_No_problem/links/59003d9e45851565029f584c/A-gentle-introduction-to-GDAL-OGR-Never-used-the-command-line-No-problem.pdf
this one seems similar, but not powerpoing: https://maptimeber.tumblr.com/post/160361012770/never-used-the-command-line-where-is-the-light/embed
???
with bounding box over Burlington, and [amenity=ice_cream]: https://overpass-turbo.eu/s/JHS
which is:
node
[amenity=ice_cream]
(36.011,-79.534,36.178,-79.363);
out;
A: OSM editor does not show that the building is marked, thus, nothing to search on
A: buildings marked downtown include: train station, old depot, library, paramount theater
A: buildings not marked include: almost everything else (incl Zack's)
finished.