Pure Maps and HERE Maps - API key 2019 still good?

Pure Maps 3.2.1-1.9.2.jolla (Chum) / Sailfish OS 4.5.0.18 / Sony Xperia III :

I installed Pure Maps after changing phone. All works OK, on-line (MapTiler at least) and off-line (OSM Scout Server). But when I tried the HERE online-profile it gets 401 http-errors when fetching tiles, i.e. it is not allowed to fetch them. I used the same HERE API-key I used in my previous phone 2019 - 2021.

I went back to my accounts in developers.here.com but everything seems to be OK (however, can’t remember having asked for a REST API key?). Has something changed with HERE API key since 2021? I am also confused between platform.here.com and developer.here.com, which one I should use now?

I am only interested in here.com’s traffic information, actually, not the maps, but it comes with them.

Yes, I had to switch to newer API keys system with HERE. That was in 2021.

To get new key:

4 Likes

Thanks @rinigus - that was it. The trick for those who will be in the same unlikely situation, is that to get the “NEW” REST API key sticker visible, one needs to first suspend the old developer.here.com project, containing the old key, and then re-enable it (“Are you sure… Yes!”), et voilà !

An opportunity which I cannot miss to thank you thousand times for this amazing application!

2 Likes

Hmm, afraid I got lost.
I registered as developper with a fictive app
Then I could Get a REST API but Pure Maps’s map stays gray although I entered the Access Key ID (or secret?) and restarted Pure Maps.
I didn’t see the ‘New’ sticker nor how to suspend the old account.

In Pure Maps: you need to

Accept the HERE license conditions
Insert the API key (it is long… paste)

Then you would have a profile “HERE - online” available. If it still does not work, use journactl -f as devel-su on a terminal while you start the application. If you see http errors 401 you still have problems with you key (like I had above).

Much thanks for having taken time.
Yes, I did those already.

The log talks about an error 403, not 401, but it’s still an autorization problem.

Mar 05 22:29:58 XperiaXA2-DualSIM [32189]: [W] unkn
own:0 - [ ERROR ] “{unknown}[Style]: Failed to loa
d tile 3/5/3=>3 for source raster: HTTP status code
403”
Mar 05 22:29:58 XperiaXA2-DualSIM [32189]: [W] unkn
own:0 - [ ERROR ] “{unknown}[Style]: Failed to loa
d tile 3/4/3=>3 for source raster: HTTP status code
403”
Mar 05 22:29:58 XperiaXA2-DualSIM [32189]: [W] unkn
own:0 - [ ERROR ] “{unknown}[Style]: Failed to loa
d tile 3/4/2=>3 for source raster: HTTP status code
403”
Mar 05 22:29:58 XperiaXA2-DualSIM [32189]: [W] unkn
own:0 - [ ERROR ] “{unknown}[Style]: Failed to loa
d tile 3/5/4=>3 for source raster: HTTP status code
403”
Mar 05 22:29:58 XperiaXA2-DualSIM [32189]: [W] unkn
own:0 - [ ERROR ] “{unknown}[Style]: Failed to loa
d tile 3/5/2=>3 for source raster: HTTP status code
403”
Mar 05 22:29:58 XperiaXA2-DualSIM [32189]: [W] unkn
own:0 - [ ERROR ] “{unknown}[Style]: Failed to loa
d tile 3/4/4=>3 for source raster: HTTP status code
403”
Mar 05 22:29:58 XperiaXA2-DualSIM [32189]: [W] unkn
own:0 - [ ERROR ] “{unknown}[Style]: Failed to loa
d tile 0/0/0=>0 for source raster: HTTP status code
403”
Mar 05 22:29:58 XperiaXA2-DualSIM [32189]: [W] unkn
own:0 - [ ERROR ] “{unknown}[Style]: Failed to loa
d tile 3/5/1=>3 for source raster: HTTP status code
403”

I’ll dig more and try again.

If this is the first time you use the HERE developer’s account, you should see the NEW badge. I have an old account and an old project in it, in which I did not see (1) only (2). I had to go to the project (3) and cancel (4) it. Then I was able to restart it. After which the NEW badge appeared.

1 Like

Thanks canne.
:man_facepalming: ~I just didn’t see I had to enable the access key under the OAuth tab. (No clear idea what this is, if it is related, but it is working now.)~
edit: I believe I did enable both API key and OAuth. But only one enabled API key is necessary. Nothing to do under the OAuth tab.

edit: actually, only HERE maps were working but not the HERE routing.
Now, both are working. Details here.

Sorry for the mess…

2 Likes

A note update. In 2024-02-12, I noticed that HERE tiles were not loading anymore (401 error). Check done on developers.here.com : my account was deleted. As a past action in this thread, I have created an account in platform.here.com. No trace of my old API keys there - I have likely failed to notice a “migration” recommendation from "developers to “platform”. I created a new REST API key. Did not give a credit card: Now tiles are loading with “HERE - Online” but only “Walking” and “Public Transportation” are available, “Car” is grayed out. Type “Traffic” does not work, while “Default”, “Satellite”, “Terrain” and “Hybrid” are working, as well as “Day” and “Night” versions of those. Routing, curiously, does work, even if one selects “Type” as “Car”.

It looks like it is affected by EOL of SDK 3.x as of December 31st, 2023.
Updates for Here Maps 2.x stopped working as well.

1 Like

For me all the functionality seem to work fine.

Car is not available in “Default” tile type. You get it under Traffic

Routing and search work as well.

I am using REST API Key that was probably migrated with the account to the new platform.

Thank you for your answer. It is true for the “Car” is reappearing when “Traffic” layer is chosen. But it does not search any chart tiles. Routing works also for me as mentioned. I failed to migrate my developer REST API key to the “platform” and needed to create a new one. journalctl shows now, for those missing “Traffic” tiles a 403 error (instead of 401 with the deleted developer account). I reckon that without having to migrate my earlier API-keys, and without giving my credit card number, there are new, commercial restrictions on the new “platform”. HERE Traffic-tiles are the only one that exist and useful for some. I do not know how to get them back. Perhaps one needs to pay?

1 Like

I don’t think so. I suggest to take URL from https://github.com/rinigus/pure-maps/blob/master/maps/here_4_traffic_day.json. In that URL, you would need to:

This can be tested on desktop and check out whether your map tiles load.

Note that on desktop you could also test Pure Maps via Flatpak.

Start with this simple test and see if you get more meaningful errors.

Once in a while it may make sense to remove Pure Maps QML cache. But let’s proceed with that later, after you checked if your REST API key works. If it doesn’t, check HERE docs on what could be wrong.

Re search: search should work via Search in Pure Maps. Not sure what you mean by " it does not search any chart tiles"

1 Like

Thanks, using my area’s z/x/y on a laptop browser with my new “platform” REST API key I get back
{"error":"Forbidden","error_description":"These credentials do not authorize access"}
On SFOS, from the same area and with the same REST API key, journactl indicates, for the “Traffic” layer tiles an error 403 (not authorized). No maps are shown on the display.

Similarly, using the URL from your https://github.com/rinigus/pure-maps/blob/master/maps/here_0_normal_day.json
I get the tile without an error on the laptop browser.

If I continue to move around the same area on the SFOS, the type being “Default” it works and shows the map OK. If I continue to zoom in and out, journalctl shows occasional HTTP errors 429 (too many requests) but no tile “holes” remain visible on the zoomed area.

Right now I have no access to a Linux computer of any kind, sorry, only SFOS 4.5.0.24 on Xperia 10 iii is available for testing.

Re search: my bad, Pure Maps does not need to “search” for the tile, it knows what is the tile it needs to fetch, which is a more appropriate verb for the network GET action. Sorry about that. But since you mentioned it, “Search” is working fine and results have the usual HERE type of answers for the search terms. So it is only the “Traffic” chart tiles which are not working.

Regarding my HERE “platform” account, it show me this, inviting me to give a payment details all over… :man_facepalming:

Platform_features_(for_me)

So, I presume that I have the “limited plan” with 1000 transactions for “location services”. If If I follow that “Location Services” link (under the “upgrade” Base Plan), I can read:

Platform_location_services_traffic_information

Apparently (my interpretation) I am entitled to 5000 transactions per month for “Traffic location services” of which each 1000 is “free”… Same for the “Advanced Traffic”, whatever that is. Anyway, I have not used any “Traffic” this month with HERE. Also, this is an account I created a few days ago:

On the welcome page there is still this “migrate button”, but if I try to use it and give my old, “developer” account credentials it says that this account is not eligible for migration and suggest me to try with another account…

So, maybe, the (last?) hope is the QML cache clean, how to do that, please?

If it doesn’t work in the browser, QML cache wipe out will not help either. But just for info, it should be somewhere under ~/.cache (look for Pure Maps folder there).

I have the same Limited plan, so that’s odd. I can see tiles with traffic too… Just in case, check your usage for this month (top right corner menu, select usage). See the graphs there as well.

Maybe there is something different for new accounts. Maybe we should move to the next version of the api: HERE Technologies Documentation | HERE Docs . To help, you could read up on that and find replacement URLs for that API. And check if they work in the browser with your key (including traffic).

That’s right, it did not help but I deleted the cache .db file anyway, just to make sure.

I checked my HERE “platform” usage with and without graphs, it is well under 1000 units - I created the new REST API only two days ago:


It does not make distinction between “Traffic” or other tiles (blue part).

I will take a look at the v3 version and answer in a separate post - maybe there will be other “new” users in the HERE “platform” meanwhile who can confirm that this is indeed an issue for them also and not only some problem of my configuration.

Thank you for your help and for the great application which I use almost daily, (mainly with off-line maps, except when driving into a big city where the “Traffic” is useful…).

I can confirm that with API v3 and with the aforementioned new REST API key I get traffic information using a desktop browser and a URL like this:


https://maps.hereapi.com/mia/v3/base/mc/center:52.366547,4.911802;zoom=14/335x480/png8?apikey={MY_API_key}&style=lite.day&features=vehicle_restrictions:active_and_inactive,pois:disabled

amsterdam_v3_vehichle_resttrictions

Sources : (above as an example) ; (more examples) ; (reference) ; (get all features and their options)

1 Like

That’s not exactly traffic. I now recall looking into it and it seems (notice that I am not 100% sure) that traffic tiles are now separate. See HERE Technologies Documentation | HERE Docs . So, I would have to lay one tile on a top of the other one to add it to Pure Maps.

Regarding traffic, couple of notes:

  1. Traffic is also available via Mapbox tiles. But that’s only on tiles - not used in routing
  2. Pure Maps, when in HERE profile, supports routing with traffic. Just select the routing as usual and trigger “Traffic” in routing options. You can also enable periodic recheck of the route and adjusting for traffic if you enable it in Pure Maps Preferences/Navigation by using “Update traffic while routing” and selecting time interval for updates.

Probably I would need to move to the newer API for HERE raster tiles soon.

Thanks for the instructions, I will work with those meanwhile - I reckon that V3 API will take a considerable effort to adapt: I could not find from any examples dedicated traffic tiles; instead, features for those with traffic-related information. When you make a queries for available tile styles and available features for them (see congestion_zones), one gets the following jsons (please expand below dumps from info and features inquiries):

info

{"imageFormats":["jpeg","png","png8"],"imageSizes":[256,512],"mapVersion":"in389jp147","projections":["mc"],"resources":["background","base","blank","label"],"styles":["explore.day","explore.night","explore.satellite.day","lite.day","lite.night","lite.satellite.day","logistics.day","satellite.day","topo.day"],"zoomLevels":{"max":20,"min":0}}

features

{"features":{"explore.day":[{"modes":["disabled","all"],"name":"congestion_zones"},{"modes":["disabled","all"],"name":"environmental_zones"},{"modes":["disabled","active_and_inactive"],"name":"vehicle_restrictions"},{"modes":["all","disabled"],"name":"pois"}],"explore.night":[{"modes":["disabled","all"],"name":"congestion_zones"},{"modes":["disabled","all"],"name":"environmental_zones"},{"modes":["disabled","active_and_inactive"],"name":"vehicle_restrictions"},{"modes":["all","disabled"],"name":"pois"}],"explore.satellite.day":[{"modes":["disabled","all"],"name":"congestion_zones"},{"modes":["disabled","all"],"name":"environmental_zones"},{"modes":["disabled","active_and_inactive"],"name":"vehicle_restrictions"},{"modes":["all","disabled"],"name":"pois"}],"lite.day":[{"modes":["disabled","all"],"name":"congestion_zones"},{"modes":["disabled","all"],"name":"environmental_zones"},{"modes":["disabled","active_and_inactive"],"name":"vehicle_restrictions"},{"modes":["all","disabled"],"name":"pois"}],"lite.night":[{"modes":["disabled","all"],"name":"congestion_zones"},{"modes":["disabled","all"],"name":"environmental_zones"},{"modes":["disabled","active_and_inactive"],"name":"vehicle_restrictions"},{"modes":["all","disabled"],"name":"pois"}],"lite.satellite.day":[{"modes":["disabled","all"],"name":"congestion_zones"},{"modes":["disabled","all"],"name":"environmental_zones"},{"modes":["disabled","active_and_inactive"],"name":"vehicle_restrictions"},{"modes":["all","disabled"],"name":"pois"}],"logistics.day":[{"modes":["disabled","all"],"name":"congestion_zones"},{"modes":["disabled","all"],"name":"environmental_zones"},{"modes":["disabled","active_and_inactive"],"name":"vehicle_restrictions"},{"modes":["all","disabled"],"name":"pois"}],"topo.day":[{"modes":["disabled","all"],"name":"congestion_zones"},{"modes":["disabled","all"],"name":"environmental_zones"},{"modes":["disabled","active_and_inactive"],"name":"vehicle_restrictions"},{"modes":["all","disabled"],"name":"pois"}]}}

Update: I have added below an example of a base map and some overlay, transparent png-tiles for it about traffic conditions, with different congestion filters.

Traffic overlay tiles examples

# Example from Paris, map zoom 13:
# 13/4149/2818
#  https://maps.hereapi.com/v3/base/mc/13/4149/2818/png?size=512&apikey={API_KEY}&explore.day&features=vehicle_restrictions:active_and_inactive,congestion_zones:all,pois:disabled


Congestion filter = free

# https://traffic.maps.hereapi.com/v3/flow/mc/13/4149/2818/png?size=512&ppi=400&minTrafficCongestion=free&apikey={API_KEY}
 #


Congestion filter = heavy

Congestion filter = queuing

Congestion filter = blocked