I am going to use HERE Map Tile API for one of my geo spatial related project. I have previously used GeoWebCache for caching tiles images for other project but not sure whether HERE Map Tile API provide TMS (Tile Map Server) protocol or GeoWebCache supports API style caching
Here does not provide TMS, in the documentation it is mentioned that they provide only support for web mercator projection and the API associated with that with zoom level, x,y. But there are some resources you can read to convert between slippy kind of tilename and TMS. https://wiki.openstreetmap.org/wiki/TMS.
Related
I've hosted my website in Firebase. I'm using firebase onRequest functions to track user Lat & Lag.
Below is the code,
User Geo Location Coordinates (Lat,Lag): ${req.headers['x-appengine-citylatlong']}
I accessed the website from my location, but firebase function gives me different Lat/Lag.
I'm getting correct Lat/Lag from this website https://www.gps-coordinates.net/
Currently I'm getting this Lat/Lag listed in this website https://ipinfo.io/
How do I get exact user coordinates ? please help.
Note: I can't use client side to get Lat/Lag. I have to do this in server side
Google App Engine-specific headers may not be enough for your expectations. You cannot get exact location using headers only. According to App Engine-specific headers:
X-Appengine-CityLatLong
Latitude and longitude of the city from which the request originated. This string might look like "37.386051,-122.083851" for a request from Mountain View.
Getting a precise address from the server without data and consent from the client side is impossible. That would be a huge privacy issue. I'm not sure if you're using web or mobile, but location permissions will always apply regardless of the platform.
This is also mentioned from this thread:
The specification explicitly states that since the nature of the API (Geolocation) also exposes the user’s location and therefore could compromise their privacy, the user’s permission to attempt to obtain the geolocation information must be sought before proceeding
While Maps SDK has wrapper libraries so you can run them on a server, Geolocation API is not mentioned, so what you want is really not possible.
We are going to use HERE Routing API to calculate a route in bus mode with route shape. Our use case: we know coordinates of bus stops but we need route shape between them. Bus mode take into account taxi/bus restricted streets as well as streets reserved for exclusive taxi/bus access and this is exactly what we need. But also we need take into account traffic data (live or typical) for this route, for specified departureTime. Can we get this info by HERE Routing API? For example, as durationInTraffic of route like google does? If no, is there any other HERE api to get such info? We saw HERE Traffic API but it looks like it provide full info about some area to draw it on map, not for route.
Yes, it takes if you pass departure time as request param, see https://developer.here.com/documentation/routing-api/8.20.0/dev_guide/topics/use-cases/departure-time.html
I'm looking for some solution to get coordinate from address or any WITHOUT using an API.
Usually, we use the Google Maps API, but at this time we can't use an API over the internet because of our budget.
Is there any solution??
purpose : scrape some web site, such as the one below
sample web site : https://www.yelp.com/biz/honey-badger-brooklyn-2?osq=Restaurants
return : [ lat, lon ]
lang : python
framework : Scrapy
I'm not sure what you're looking for here - you need some mapping of [street address]->[lat,long], which generally comes in the form of a large database, for example the one Google Maps has in its back end.
There is no way to calculate the coordinates of an address without such a database, so you either need to get a database of your own (likely by buying existing data from another company), or use an API call to a service that accesses such a database for you.
I was trying to use Google Distance Matrix API JSON in my project, after formatting the url, for example:
http://maps.googleapis.com/maps/api/distancematrix/json?origins=Vancouver+BC|Seattle&destinations=San+Francisco|Victoria+BC&mode=bicycling&language=en&sensor=false
I was able to view the result in browser, but when I tried to make a http request to get the result, I will receive status : REQUEST_DENIED
In documentation:
REQUEST_DENIED indicates that the service denied use of the Distance
Matrix service by your application.
But I still don't know why my request is denied. More Info from google:
Use of the Distance Matrix API must relate to the display of
information on a Google Map; for example, to determine
origin-destination pairs that fall within a specific driving time from
one another, before requesting and displaying those destinations on a
map. Use of the service in an application that doesn't display a
Google map is prohibited.
If I can't get the result, how can I apply it on google map?
Anyone with same problem? I will post sample code later, to clarify my question more clearly.
I had a similar problem, but it was due to assuming that the sensor tag would default to false, but it is in fact required.
Google Distance Matrix API has a limit of elements set to 2500.
I highly doubt it that you would have gone over this limit, as you would have to have calculated the maximum 10 x 10 matrix 25 times over.
I am from South Africa, and it refused to work for any local addresses until I changed the transport mode to driving (from walking, I mean seriously, we have cars). Maybe that'll help
https://maps.googleapis.com/maps/api/distancematrix/json?origins=Seattle&destinations=San+Francisco&key=YOUR_API_KEY
Please make sure that you have created a credentials on Google Console which can be called as "API KEY" and you are using this API KEY in above request URL on the place of "YOUR_API_KEY"
I had the same problem earlier.
you need to check out with the Google Api key version and codes/scripts of version you are using.
I believe you need to get a Google Maps API key
You need to set an API KEY for using Google map services like this:
https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=Washington,DC&destinations=New+York+City,NY&key=**YOUR_API_KEY**
First thing is that you need is to have an API key assigned to your application. This is done by creating it in the Google API Manager.
I hope your have enabled distance matrix API from google console for your application.
please refer
https://support.google.com/googleapi/answer/6158841?hl=en
along with this you can restrict API_KEY for unauthorized use.
I am working on a project which requires a server side access to google map api. i want to calculate distance (actual distance, not straight line). google map api supports javascript and not asp.net. please give suggestions ...!
you specified google maps in your question - but have you looked at Virtual Earth? Specifically this routing with Virtual Earth Web Service example sounds exactly like what you want:
server-side access (just Add Service Reference inside visual studio)
actual distance (not straight line) since it is using a route
The concerns raised by others about T&Cs for 'internal/intranet use' apply to VE as well as Google I think - you'll have to read up about whether your application needs licensing or not.
p.s. if you did just want to calculate straight-line distance, I have instructions using SQL Server 2008; which also links to some straight c# code that does it too.
The Google API allows you to Geocode via a server side call:
http://code.google.com/apis/maps/documentation/services.html#Geocoding_Direct
This would allow you to get the longitude and latitude of the locations. You can then cache these and use them to calculate distance using the techniques CMS suggests.
You will need to be careful of the Google T&C's though as you are only allowed to store the geocoding data for use on a Google map which is publicly available.
You would probably also run into limitations on the number of requests you could make from a single IP.
However I think what you mean by non-straight line distance is distance taking into account roads and one way streets etc.
If this is the case I think a commercial service is your only option. Although theoretically you could do it all via screen scraping, I'm almost certain that this would break Google's T&C's.
The simplest solution would probably be just to embed a Google map on a page of your application and let the user calculate the distance. You could pre-fill the to and from fields if required.
Again if this is for an internal app i.e. Not publicly available "my understanding" of the Google T&C's would forbid this.
Use something like firebug or fiddler to look at the requests that are being sent to Google from javascript you should then beable to build the request using that information and an HTTPWebRequest in .net and retrieve the same information.
HTH
You can calculate the distance of two geographical coordinates (latitude, longitude) using the Great-circle distance algorithm.
Here you can find some other formulas for distance calculation.
Well, you've pretty much identified the key issue, the Gmaps API is a browser resident javascript API and there's not much getting around that. Most of the API is executed in the browser so there's not much network traffic to spy on.
As tsaunders mentions there is a geocoding API call that is restfully accessible, but it only does reverse/geocoding and if you have lat/lng's already you can use the calculations the rms suggested, but they are as tsaunders points out 'as the crow flies' distance.
If indeed you are looking for road taken distance, the API does do routing but you are back in the browser to get the start/end points from the user.
Perhaps you can be a little more specific about what you are trying to do and why you feel this requires you to to access the API from your server. My application for instance has features that gather information from the user and sends requests back to my server to work on, some of that data are processed by the Gmaps API first.
If I were to use a API platform, I certinaly would not use Google as the free one does not include advances Geocoding menaing the accuracy is poor. There is also no sla , support or rights of service.
The directions are poor, the coverage for Ireland and Geocoding is almost childlike and the privacy stinks. No professional business would use a google mapping solution.
They copy everyone else's idea, say they are there own and get loads of press (they only added tube stations in 2006) an dcyclc lanes (2010), viamichelin added these 2006 and Traffic in 2009 !
Any agency or developers looking for an API should stick to Bing or ViaMichelin for better customisation and user experience which is killer !