I have an account for Nokia Maps API but am wondering what URL I should use to request tiles through the API correctly? I am using the Leaflet maps API and my URL string looks like this:
http://3.maptile.lbs.ovi.com/maptiler/v2/maptile/newest/normal.day/{z}/{x}/{y}/256/png8?app_id=XXX&token=XXX
It works, but I don't believe I am using the API correctly - I just stole the first part of the URL (http://3.maptile.lbs.ovi.com/maptiler/v2/maptile/newest/normal.day) from the Network tab of dev tools when I checked out Nokia maps in my browser.
In the documentation it tells me I can request based on lat, long and zoom, but not based on X and Y.
Is anybody familiar with Nokia Maps API?
Regarding the original question I'm guessing you have acquired credentials for the Map Image API: http://developer.here.net/docs/map_image/index.html There are a series of interactive examples available, which explain how to get back a static map image using latitude and longitude such as this one here: http://developer.here.net/apiexplorer/examples/api-for-rest/getting-started/basic-map-wh.html All the urls for the Map image API start with http://m.nok.it
Using URLs for the map tiles from the http://here.com website isn't the same service, it isn't an official API (hence the reason it is undocumented) and the URLs could be changed without notice.
Updated
HERE now offers three web-based Maps APIs, and since last year a TMS (Tile Map Service) a.k.a. Map Tile API, which is what I think you are after is now publicly available.
As noted by Luciano Issoe, the correct URLs for the Map Tile API are now publically documented see: https://developer.here.com/rest-apis/documentation/enterprise-map-tile
Alternatively, if you want to use an interactive map service with Nokia's mapping data, your best bet would be to use the Maps API for Javascript described here:
http://developer.here.net/docs/maps_js/index.html
It seems that it´s a documented service now: https://developer.here.com/rest-apis/documentation/enterprise-map-tile
To retrieve a map covering a specific area using the Map Image API, add two points of interest to the map for the top right and bottom left corner and then use the nomrk to make the POIs invisible:
http://m.nok.it/?w=512&poi=52.6764,13.7636,52.351,13.0185&nomrk
Related
I was trying to extract data from an ESRI map embedded in a website. The objective would be by introducing geographic coordinates to be able to access the values present on the map.
I leave here a print of the map and the respective address. I just cannot understand which method I should use since the map is embedded in the site. What processes should I use?
*for academic purposes
https://zonamentopf.portaldasfinancas.gov.pt/simulador/default.jsp
I must admit, I am not quite sure what you are after in terms of extracting data. I visited the site, and it is a pretty basic embedded web map created using the ArcGIS API for JavaScript, albeit wrapped in JSP. The web map is consuming some publicly accessible Esri services (World_Imagery, World_Boundaries_and_Places), and some non-public organizational services from www.portaldasfinancas.gov.pt.
It seems to me you are interested in geocoding. The pointer/marker on your map was looked up using Esri's ArcGIS Online Geocoding Service:
You have reached the home for the ArcGIS Online Geocoding Service. Use
it to turn addresses into coordinates, coordinates into addresses, or
to locate a point-of-interest.
If you are a developer, detailed documentation for using this service
in your application is available in the ArcGIS Online Geocoding
Service Help.
If you are an ArcGIS for Desktop user, you can use this service for
finding addresses interactively or geocoding a table of addresses.
Since I am not quite clear what you are trying to do, this is about all I can offer for now.
Note: Please respect data ownership. When in doubt, don't save a copy of someone else's data.
It sounds like you want to extract the polygon data in this map. The web app is making requests like this:
https://zonamentopf.portaldasfinancas.gov.pt/simulador/proxy.jsp?http://ags/arcgis/rest/services/SIMIMI/SIMIMI/MapServer/identify?f=json&tolerance=0&returnGeometry=false&imageDisplay=400%2C400%2C96&geometry=%7B%22x%22%3A-886651.3363331377%2C%22y%22%3A4443259.272690449%7D&geometryType=esriGeometryPoint&sr=102100&mapExtent=-887053.8250602124%2C4442583.282721534%2C-885178.7292100423%2C4443968.70385924&layers=all%3A0%2C1%2C2%2C3%2C4&callback=dojo.io.script.jsonp_dojoIoScript11._jsonpCallback
You can remove the callback parameter if you just want the data:
https://zonamentopf.portaldasfinancas.gov.pt/simulador/proxy.jsp?http://ags/arcgis/rest/services/SIMIMI/SIMIMI/MapServer/identify?f=json&tolerance=0&returnGeometry=false&imageDisplay=400%2C400%2C96&geometry=%7B%22x%22%3A-886651.3363331377%2C%22y%22%3A4443259.272690449%7D&geometryType=esriGeometryPoint&sr=102100&mapExtent=-887053.8250602124%2C4442583.282721534%2C-885178.7292100423%2C4443968.70385924&layers=all%3A0%2C1%2C2%2C3%2C4
However, if you just go to that link, you will get an error about a missing or incorrect referrer. To overcome that, you will need to add a header called Referer with value https://zonamentopf.portaldasfinancas.gov.pt/simulador/default.jsp. You can do that in a script or in an application like Postman, but you will not be able to do it in your own web app.
To view the available layers: https://zonamentopf.portaldasfinancas.gov.pt/simulador/proxy.jsp?http://ags/arcgis/rest/services/SIMIMI/SIMIMI/MapServer?f=json (with the Referer header I mentioned)
To view metadata about a single layer, use the following URL. Replace the 0 in /0/ with a different layer ID to get a different layer. https://zonamentopf.portaldasfinancas.gov.pt/simulador/proxy.jsp?http://ags/arcgis/rest/services/SIMIMI/SIMIMI/MapServer/0?f=json (with the Referer header I mentioned)
To query one of those layers to get the data, use the following URL to get everything, or add some query parameters if you want to filter the data. Replace the 0 in /0/ with a different layer ID to get a different layer. https://zonamentopf.portaldasfinancas.gov.pt/simulador/proxy.jsp?http://ags/arcgis/rest/services/SIMIMI/SIMIMI/MapServer/0/query?f=json&outFields=*&where=0%3D0 (with the Referer header I mentioned)
Related answer: https://stackoverflow.com/a/50213419/720773
I would like to know if the HERE map service allows a developer to configure the tiles to display road speeds in some way?
I see that HERE has APIs for road speeds, but I am not after fetching data, processing and drawing it myself. Rather, I have a map control in my project, and that map control uses the HERE service to fetch map tiles, and I wanted to simply have an option to fetch tiles that (also) displays speeds.
Is there such an option? I have been looking through the docs, but haven't found a way yet.
Regarding some volatility information the Map Tile(raster) API supports only
truck restriction tiles: https://developer.here.com/documentation/map-tile/dev_guide/topics/resource-base-truckonlytile.html
and traffic flow: https://developer.here.com/documentation/map-tile/dev_guide/topics/resource-traffic-flowtile.html
Vector Tile API supports only roads, topologies, cartos and labels - doesn't support also any speed info.
Therefore you can use only Fleet Telematics API that returns only speed limits data then push this info as markers into map, See please examples on https://tcs.ext.here.com/examples/v3.1/pde_speed_limits_in_view or https://tcs.ext.here.com/examples/v3.1/pde_speed_limits_along_route
or https://tcs.ext.here.com/examples/v3.1 - there search by keyword like 'speed'
Documentation:
https://developer.here.com/documentation/fleet-telematics/dev_guide/index.html
https://developer.here.com/documentation/content-map-attributes/dev_guide/index.html - we don't have any examples for this new api.
I am considering extending an application with HERE maps API calls (geocoding, routing, and maybe others). The application allows to select providers for different services and mix them. For example, using map tiles from one provider and showing search results from another one. I wonder, whether it is allowed to do so with HERE REST API call results. For example, show route polyline and use routing instructions from HERE and mix them with Mapbox GL tiles.
Question stems from https://legal.here.com/en-gb/terms/acceptable-use-policy, "Layering and Modifications" which seems to me prohibiting such use. In contrast, Is it possible to use here's Maps API combined with another base map (e.g., Bing, Google, OSM)? response states that it would be OK.
While I can make a separate profile that would enable HERE APIs only with HERE map tiles, I would prefer to allow users to mix providers as it is now. Currently, only HERE map tiles are supported, but those should allow me to layer other data on top, as far as I understand the allowed use terms.
In contrast to reply at Stack Overflow linked above, reply in Knowledge Base states that showing geocoding results on top of other providers tiles is prohibited.
A tile sent from Nokia Here-Map tiles API, contains at least two POIs that do not exists in real life and also not on other Map services like Google Maps and OpenStreetMap. How can i get accurate/fresh POIs with the Map Tiles Api?
I'm using the service with LeafletJs, and i use a hybrid.day base map and a base one, with the pois parameter set to true and map version set to "newest". The tiles i'm getting effectively contains POIs but it doesn't seem accurate. I wrote to the sales support at Nokia Here, i'm not sure they can help me, but the website also indicate to use stackoverflow for technical questions. Mine doesn't seem like a sales related question or a technical one but i see no other alternative contact.
This is a link to get a tile with incorrect POIs:
https://4.base.maps.cit.api.here.com/maptile/2.1/maptile/bd9e007617/normal.day/17/59178/60113/256/png8?app_id=mVrBstuYsfUVga31l6IX&app_code=xphvU-Uj071dI-UkNaxMrg&lg=fre&pois=true&style=default
The tile contains two POIs that do not exists in real life or on other map services like OpenStreetMap. The two are: "Ecobank" and "Restorant Aku".
The place the map shows is around these coordinates: lat:14.729235451930021
lng:-17.46165559897639
The returned tile shouldn't contains inexistant POIs.
This is an error in HERE database. You should report it through HERE Map Creator
It will go through some kind of quality moderation, so it may take a few weeks. Maybe adding a fresh photo would speed up things.
I am new to Google Maps API and I have a requirement to integrate Google Maps API with an ASP.Net application. Is there a Google service where in I can input a UK postcode and radius as input parameters and get results only, without the map.
For example if I search for solicitors in a particular area like Z1 1XY (not real post code) with a radius of 5 mi, can I get the results of all solicitors with the postcodes 5 mile radius? Is there any service that would return the result set only? I know GeoCoding does something similar but can I provide radius as one of the input parameter and get results.
Any help would be appreciated. Thanks in advance.
Seaton
The Geocoding API may only be used in conjunction with a Google map; geocoding results without displaying them on a map is prohibited. For complete details on allowed usage, consult the Maps API Terms of Service License Restrictions.
Source: https://developers.google.com/maps/documentation/geocoding/#Limits
yes, you can use the Google Geocoding API to do address lookups (in this case postcodes). The response contains lat/lon co-ordinates which you can then subsequently use as the epicenter of your search to find items within a radius. Have a look at this blog post on how to use the DbGeography in .NET to perform radius queries based on lat/lon co-ordinates.