Map Service Publishers - google-maps

I am creating a mobile web-app and need a map publisher/provider. I have gone through a couple of them such as:
- Google Maps
- Bing Maps
- Map Box
- OpenStreetMap
After reviewing the map publishers and their price plans, I am mostly interesting in free map publishers at this point. However, on reviewing OpenStreetMap, they do not provide maps in a good detail for my country. Can anyone suggest any other free map providers apart from OpenStreetMap? I have found a couple of other ones, however they are all built on top of OpenStreetMap (such as MapBox which is commercial)
Thanks

If by "free" you mean "free beer" instead of "free speech", I can recommend HERE Maps.
Its JS API is fairly good, and depending on your country, the details are awesome.

Related

Better result in Google map using beacons in Indoor search

Would it be possible make Google maps aware of our beacons via their registry or api or something, so that google map can accurately give indoor direction to users in a facility that is under our control(where we can deploy beacons)?
Example: In a mall we own, can we place beacons and submit them to Google Maps so it can give better results?
Some links I found, but can't figure out an answer:
https://developers.google.com/beacons/
https://developers.google.com/beacons/proximity/guides
https://www.google.co.in/maps/about/partners/indoormaps/
https://play.google.com/store/apps/details?id=com.google.android.apps.insight.surveyor
Google used to develop this beacon-based location service call Google Here but it was scrapped due to the reasons of privacy, but then you can do the following to get your beacons locationing up.
Let say you have multiple beacons in one mall.To make this explanation simple, just treat the indoor maps and normal maps as the same thing, and those beacons you going to add are like the places in the Google Maps.
First of all you need to make your building floor plan available on the Google Maps. You can do so by using the following steps to submit your beacons location with the floor maps of the building, so that your beacons location can be automatically align with your stores/building.
https://support.google.com/maps/answer/2803784?co=GENIE.Platform%3DDesktop&hl=en
After your floor plans appear on Google Maps, you can submit your beacons location using the Map Marker tool (Retired March 2017, moved to Google Maps after that).
You can then use the Google Maps API's Map Object to work with your indoor map, including getting location of all your beacons.
https://developers.google.com/maps/documentation/android-api/map#indoor_maps
The IndoorBuilding Object allows you to get the active level that you are accessing. You can use the function getLevels() to get all the levels in the building, and then use getActiveLevelIndex() to get active level you are working on.
After getting to the right floor, what is left is the interaction between Google Beacon API with the maps you created.
latLng and indoorLevel in the Proximity Beacon API would then return the exact location and detail level that your beacons located.
You can use this link to upload indoor map of a building.
https://maps.google.com/floorplans/find
Submit the details of floor and everything.
Hope it will help.
I believe there are no current plans to use registered beacons for directions indoors, or even for lat/long type location (more for semantic place inference), but I feel it is a very good FR so I went ahead and added it to the Android issue tracker:
Including support for BLE beacons in FusedLocationProvider.
Please star it to get updates.
As you can read in the other reply beacons can be used currently to improve indoor location accuracy for 3rd party apps, but it requires a lot of work by the developer and it is not supported by the Google Maps Mobile.

How to request polygons from Google Maps?

I am interested in an analogue of http://wiki.openstreetmap.org/wiki/Nominatim
I.e. to be able to make request and get some kind of polygon coordinates:
"geojson":{"type":"Polygon","coordinates":[[[-87.464761,44.600998],[-87.459755,44.599569],[-87.459745,44.601012],[-87.463143,44.601],[-87.464761,44.600998]]]}
Nominatim is good, but it lacks of some data (I am interested in data about cities and counties of Canada). For example, Google Map knows about the Ontario districts and highlights them, but OpenStreetMap - does not. As well as for some cities - where OpenStreetMap shows a dot, Google Maps shows full polygon.
Can it be done with Google Maps?
Other alternatives will work as well.
Yes, it can be done via GMaps API: https://gis.stackexchange.com/questions/43292/how-to-geocode-an-address-to-a-polygon
But be also aware of the legal restriction of the API and the commercial dataset, esp. if you want to use it regularly or for bulk processing: http://www.google.com/help/legalnotices_maps.html
I would also consider to help OSM to improve the dataset. This can be done by contacting the local community and offering help to ask for official public datasources. Esp. in the case of political boundaries, there is no way to get this material on the ground: http://wiki.openstreetmap.org/wiki/Canada

Google Maps API for Jersey/Guernsey?

My company is using the Google Maps API to power an installer locator for our product. All has been going fine up until now, when I've added installers on the Channel Islands (UK). Is there any way I can get the Google Maps API to recognize these locations for me?
The Channel Islands are editable in Google Mapmaker, which means you can fix most geocoding problems if you happen to know the right answer. Not all fixes will go live immediately, but they will eventually.
There isn't! Geolocation in the channel islands (as provided by google) is very patchy. It doesn't seem to recognize postcodes, for instance.
My company is based on Jersey. On our site, we geolocate a user, then place a marker on the map as to where we think they are. We set this marker to 'draggable', and allow the user to drag the marker to their location if its inaccurate. You can get info on how precisely you have located someone from the API - if its not good enough, you can give extra prompts to tell the user to locate themselves.
This isn't an ideal solution, but its important to have - geolocation services do not work accurately everywhere in the world.

Streets Missing using Google Maps API

Does google maps api use an older verison of their maps? When I embed a map using google maps api, a ton of streets are missing, especially in Israel.
Check this out (this map has lots of detail and streets)
http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=israel&sll=37.0625,-95.677068&sspn=41.496446,93.076172&ie=UTF8&hq=&hnear=Israel&z=8
Yet the embedded map hee has very little detail on Israel and relatively no streets.
Goto google maps api example page and find israel. (I couldn't post a link cause this is my first post)
Its a licensing issue. GISrael won't sell Google a universal licence to redistribute the map imagery to other people's domains.
My answer is this is probably a real or perceived security issue for Israel, which makes it an incredible headache for anyone outside of the country to produce a useful map with google map tools. (I've tried to do a map of Jerusalem, a walking tour, and found it nearly impossible to do.)

Topographical or relief data in Map APIs

I was wondering if anyone knew of any map APIs that offer topographical or relief data? I've had a quick look at Google and Bing APIs, but could find nothing there.
Google allow you to view a map as TERRAIN, which means you can see the topography of a map, but I want to be able to get at that data - i.e. if I were to draw a line between 2 points on Google Maps, I want to know how high above see level points along that line are.
Is this possible with any map APIs out there?
Thanks for your time!
Here's a simple example of height along a route.
I use USGS to obtain the elevation data, Google Maps API to plot the route and Google Charts to draw the elevation profile.
Full details in the associated tutorial.
Here are a few web services that provide elevation data:
USGS Elevation Query Web Service
EarthTools
GeoNames
Also, this site can search each of them