Retrieve update date of HERE Maps API - here-api

We are developing a WebGIS with AngularJS and JavaScript that use HERE Maps API.
We want to show the date of acquisition or update of the satellite maps published through Here Maps.
Is there any way to recover this information?

Geocoder API does give information about the mapVersionRelease. The following GET request uses the parameter locationattributes=mapReference to retrieve information about the currently used map version.
Please refer https://developer.here.com/documentation/geocoder/dev_guide/topics/example-geocode-mapreference.html and https://developer.here.com/documentation/geocoder/dev_guide/topics/resource-params-additional.html

Related

What are the scopes to select in mapbox token access geocoding?

I am using WordPress to build my website. As part of the custom theme, I can choose Mapbox API for my location based search results. However, I am not entirely sure what "scope" to select when creating a token access. Attached is the screenshot. I am looking for the Mapbox Geocoding feature.
All tokens are able to geocode locations, so you do not need to set a particular scope to use the Geocoding API.
Disclaimer - I work at Mapbox.

How to apply API key to Google Maps Tile server URL?

I want to use Google Maps Tile server URL inside an application.
I'm using the URL
https://mt0.google.com/vt/lyrs=s&hl=en&x={x}&y={y}&z={z}&s=Ga
and it is working fine.
The problem is that I'm not sure how to use my Google Cloud API key for this URL.
I tried adding the API key at the end of the URL:
https://mt0.google.com/vt/lyrs=s&hl=en&x={x}&y={y}&z={z}&s=Ga&key=[MY_KEY]
but I don't see any activity on "Maps JavaScript API" in my Google cloud console. Meaning that the API Key is not being used.
Does this URL need an API Key?
It's working without the Key for now, but I'm afraid it may not work in the long run or it may be illegal to use it without the Key.
Ok, So I spend some time on this and found some solutions for directly using Map Tile Server URL (without any coding required). Here is a summary:
Google Maps:
The URL https://mt0.google.com/vt/lyrs=s&hl=en&x={x}&y={y}&z={z}&s=Ga currently works, but it is illegal to use as it violates Google Maps TOS Section 3.2.4a https://cloud.google.com/maps-platform/terms/#3-license. because it doesn't use an API Key.
There was a service called Google Maps Tile API, but it has discontinued since September 2019 (the API key need to be whitelisted to be able to use this service, and they don't do it anymore since Sep).
So it seems for now there is no easy and simple way to get Tile Server URL from Google Maps.
Bing Maps:
The URL is in the form http://ecn.{subdomain}.tiles.virtualearth.net/tiles/r{quadkey}.jpeg?g=129 where quadkey is a compact representation of variables x, y and z. So doesn't work directly in applications that require URL's that have x,y,z variables.
Azure Maps:
The URL is in the form https://atlas.microsoft.com/map/tile?subscription-key=***&api-version=2.0&tilesetId=microsoft.imagery&zoom={z}&x={x}&y={y}. For different settings see here. The shortcoming of this approach is that currently it cannot be set to show hybrid maps (satellite + street and city names).
MapBox:
The URL is in the form https://api.mapbox.com/styles/v1/mapbox/satellite-streets-v11/tiles/256/{z}/{x}/{y}?access_token=***. You can set the style of the map (currently set to satellite-streets-v11) by choosing the desired value from here and replacing in the URL.
If you want to directly access map tiles, consider Azure Maps. They don't have the restriction that Google Maps has. It's also cheaper. Here are some samples that directly access the tile server: https://azuremapscodesamples.azurewebsites.net/index.html#Third-Party-Map-Controls
Here are some other useful resources:
https://azure.com/maps
https://learn.microsoft.com/en-us/azure/azure-maps/
https://learn.microsoft.com/en-us/rest/api/maps/render/getmaptile

How do i tell Openrefine to fetch some data trough the google and facebook API (Grel)

I have a list of around 500 foundations and companies and i need to fetch more data like address, description, lat long, email or phone number, from the google and FB APIs I have found something more or less like this, but it won't work in OpenRefine, i need some help please.
I think it is possible to do beacause there is an addon called spotlight for spreadsheets that is able to fetch Google URLs and Lat Long https://www.youtube.com/watch?v=Vj1v3QfyrgA&feature=youtu.be
https://maps.googleapis.com/maps/api/place/findplacefromtext/output?parameters/json?input=value&inputtype=textquery&fields=photos,formatted_address,name,rating,email,geometry&key=YOURKEY
I have created the FB and Google places and google staic map API already. I have tried different queries, but it won't work unless it is in GREL
value.parseJson().geonames[0].lng
value.parseJson().geonames[0].geonameId
value.parseJson().geonames[0].lat
From the error "This API project is not authorized to use this API" the first thing to check is that you have enabled the Places and/or Geocoding API in the Google Developer console, and you have setup an API Key and that it is showing as a credential for the Places API and/or the Geocoding API
Next step, take OpenRefine out of the equation and check you can get a simple API call working in your browser - using one of the Google Places API examples:
https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=Museum%20of%20Contemporary%20Art%20Australia&inputtype=textquery&fields=photos,formatted_address,name,rating,opening_hours,geometry&key=<INSERT YOUR API KEY HERE>
If that gives you the same error, you know the issue is not with OpenRefine.
If you are still having problems in OpenRefine make sure you are creating URLs in OpenRefine that are valid for the appropriate Google API based on the documentation for that API and that you are using the correct API key.

Google Maps V3 API: How can I get report of the use of the DIRECTIONS and GEOCODE APIS

I am using Google Maps API v3 in a Web.
And also I am using:
new google.maps.Geocoder(); (GEOCODING)
new google.maps.DirectionsService(); (DIRECTIONS for trace routes between 2 places)
Then I went to API Developers Console and create a KEY and I call the Google service in this way usin the key:
http://maps.google.es/maps/api/js?key='the-key-from-api-console'&sensor=true
The intent of this is to keep track of the use of apis to watch that I do not pass the limits of use.
In the API console Google reports me ok about the use of the javascript API v3 counting the number of visits, the number of loads of the maps even the URL of the pages that use the maps.
I can see that my use of this service does not exceed 25,000 requests / day
But i need reports of the use of GEOCODING and DIRECTIONS too and Google is not reporting me this info. In developers console I activated the Directions API, the Geocoding API and Google Maps JavaScript API v3. But I only get reports of Maps JavaScript API v3.
Report of Directions API and the Geocoding API stay always at 0%. It is as if Google is not using this report.
Could it be that the service should be contracted to have this data or to be other types of APIS enable the console in order to have use of this report?
I've been trying to find information clarifying this for me but I found nothing that completely solved my doubt.
Thanks in advance.
When you use both services via the methods of the Javascript-API the limits apply to the user that visits the page with the map, the quota of your account is not affected(so there is nothing to count/report for your account/project)
It applies to your account only when you request the webservices(usually via serverside scripts).

How to GET data for multiple profile_ids in Google Analytics Reporting API?

Is there a way to fetch information for multiple ids in a single GA Reporting API query? See here for reference to the tool I am using: http://ga-dev-tools.appspot.com/explorer/
Tthe Google Analtyics core Reporting API is a little confusing. Core Reporting API - Reference Guide - Ids calls the Query Parameter ids but it is in fact singular. You can only send one id at a time.
Anwser: There is no way to send more then one view (profile_id) to the Core reporting api as a single request. You will need to loop over your request and send it multiple times.
Example:
https://www.googleapis.com/analytics/v3/data/ga?ids=ga:34896749&dimensions=ga:date&metrics=ga:entrances&start-date=2014-05-12&end-date=2014-05-22&oauth_token={OauthToken}
https://www.googleapis.com/analytics/v3/data/ga?ids=ga:34896744&dimensions=ga:date&metrics=ga:entrances&start-date=2014-05-12&end-date=2014-05-22&oauth_token={OauthToken}

Resources