Travelling Salesman with Google Maps API or any other - google-maps

I have a list of addresses and need to find the best route that reaches every address and goes back to the start
With Google Maps API it is possible to calculate this with 8 waypoints I think but 8 isn't enough for my purposes.
Is there someone out there who offers route optimization with more than 8 waypoints? I mean there must be, right? This is a problem that many organisations need a solution to.
It is no problem at all if it costs a lot of money, the calculations are very heavy so I wouldn't expect any free service.
Does maybe google have a paid service for that (for SMEs)?
I'll take any ideas on how to solve this problem!
It should work from within an application, so I don't just need a webpage where you can enter the addresses and get a route back, I need something that has an API.

Gebweb tsp solver can help you to find a route. It's free. Link: https://code.google.com/p/google-maps-tsp-solver/
The solver source code is available under the MIT license. If you are interested in knowing about updates to this code, please subscribe to this mailing list.

Maps API for Business allows for 23 waypoints. See:
https://developers.google.com/maps/documentation/javascript/reference#DirectionsRendererOptions
Find: Array of intermediate waypoints.
You're a Business Man, so this should work.

Related

Google Maps: Given a point, how to find all points at a given Travel Time?

I have person's location, and I want to put markers at all points where the person can reach by traveling for 10 Min in any direction.
The person can choose any travel method like Car, Public transport, Walk, or maybe all.
After some googling, I found some existing services but they have issues:
mapnificent, its travel time is totally incorrect for public transport
isoscope is not ready yet
iso4app Too expensive as compared to google mapping services, plus it's not there yet
Can someone suggest me how to do this using Google Api? Thanks in advance. ^^
BTW there is a similar question, but that one is about Road Distance, My question is about Travel Time.
There is no build-in functionality in Google Maps API for time drive polygons (isochrone maps). The feature request was filed in Google issue tracker some time ago. You can see it on:
https://issuetracker.google.com/issues/63256697
Feel free to star the feature request to add your vote.
I know that developers tried to implement a workaround that uses multiple directions requests, but these calculations typically are time consuming. You can have a look at the following example
http://sandropaganotti.com/wp-content/goodies/demos/isochrone/
It is outdated, because it was written for v2 of Maps JavaScript API, however you can try to migrate it to v3.
Other sources that might be useful for you:
https://gis.stackexchange.com/questions/31057/creating-drive-time-polygon-around-map-point
https://gis.stackexchange.com/questions/46/can-you-make-a-travel-region-polygon-with-with-google-maps-api
I hope this helps!

Google Maps API missing street names

I'm trying to geocode multiple addresses. My problem is that sometimes the address actually exists but Google Maps didn't label that street, so I can't find the geocode.
I want to know if there is some way to add street names with any Google API or any software with an API that will allow me to do this.
For example, if Street 11 doesn't exist, add two coordinates from end to start naming the street. This way the next time I look up, I can find it.
I have found multiple services such as SmartyStreets, but they are not even close to Google's geocode accuracy. If I found this software, I could also do batches of addresses in a small period of time.
The tool that was used to edit map data at Google has a name Map Maker.
https://mapmaker.google.com/mapmaker
The bad news is that this tool was deprecated and will be shut down in March 2017. I am not aware about a possible replacement, haven't seen any announce yet.
You can try to follow this help article while Map Maker is still available:
https://support.google.com/mapmaker/?hl=en#topic=1094356
Alternatively you can use the "Report a problem" link on the bottom right corner of the maps.google.com.
https://support.google.com/maps/answer/3094088
Hope it helps!
First, a side note for your information:
Geocoding partial addresses or addresses that aren't real (according to the postal service) can result in really weird geocoding information. I can imagine that a lot of partial or unreal addresses don't return results because it is just too hard to guess.
As it is, most geocoding services have to extrapolate latitude and longitude by using information such as street and zip code endpoints, directions, and number of valid addresses on the street. In a lot of ways, there is guesswork involved for everyone. Google often has great geocode information because they have extensive hours driving cars with cameras and sensors marking exact locations of buildings on streets (that information is not obvious from an address). If street names are incorrect, new, old, or some other problem, it makes this "extrapolation" process even harder. Generally, you will see similar enough quality across geocoding APIs and services, and there will still be enough uncommon errors, that choosing your API based on geocoding accuracy should only be done in special cases. It's not common to need exact geocoding precision and most APIs can meet normal geocoding needs (but, in your case, maybe it is necessary, I don't know). Choose APIs based on program design needs. For instance, Google has great business and place search but doesn't validate or verify addresses, while SmartyStreets does.
Here are some possible ways to fix the problem:
If you want to get an address added to Google Maps, the best way I've heard of is to report an error on the map to Google.
Google has this website for making your maps (https://www.google.com/maps/d), but it might not fit your problem very well.
You can also open Google Maps, find the location (searching for a latitude and longitude pair, if you have it, will work well on Google Maps), then right click to add a missing place or report an error. (These will be saved in your contributions, which you can view from the menu opened by the three-bar icon menu in the search bar.)
Full disclosure: I worked for SmartyStreets.

Geocoding for a directory

I need guidance on how to approach this problem.
I have a local directory which listings with addresses. I have been able to add geocode the address and save the latitude and longitudes. So far, no problem.
Now when the user searches in the directory, he/she will type in an address and then search for listings. The problem is I will need to geocode the search term(it will be an address/part of an address) and then search for listings.
Considering that the free geocoding limit is only 2500 requests per day, I will run out of the limit very soon every day.
Is there any other approach to this problem?
You could just use a different geocoder which doesn't have this limit.
For example there is Nominatim which uses data from OpenStreetMap. Although OSM's official Nominatim instance has a rather strict usage policy because it runs on donated servers you can just use a different instance, for example the one run by MapQuest. And if you want no restrictions at all then you can choose to run your own Nominatim instance.
Purchase a Maps API for Business License
http://www.google.com/enterprise/mapsearth/products/mapsapi.html
If you're dealing with US addresses, SmartyStreets sounds like it might be a good fit. We specialize in address verification and standardization, and we also return geocoding data (lat/lon) along with 40+ other data points, should you need them. Our Terms of Service are pretty open, unlike Google's (which doesn't let you use the geocode data for anything other than displaying on one of their maps); so you would be able to store and use the lat/lon in your own application. We have a jQuery plugin that can handle the address at point-of-entry, or you could use our API or our Lists service (especially useful if you have an accumulated list you want to process up front).
Our service also has an autocomplete feature that could cut down the time your users spend typing in addresses.

How to get Data for Location App?

I am planning to build an app that would find the shortest distance from one location to another and other things too.
It requires the latitudes and longitudes of a place and distance of all the coordinates from say X meters from it, distance in the sense of actual road distance. I do not want any graphics or showing the map but just the plain data.
This means that i can query for some address with the distance X, and it would give me the details. I looked into Google Map Api, but that looks like to cater for some kind of client job scheduling. I even looked into Bing Map Api. It seemed to provide things. But i thought to ask here before proceeding.
Any tips on available options ?
Fortunately you should be able to find many many code samples out there for models. But first:
I'm not sure what you mean by Google Maps API looks like it caters to client job scheduling; it actually is pretty much the opposite! There are limitations to how many requests per day can come from one IP. Also, the licensing for Google Maps is made for client facing applications like web based Store Locators (the application that I used it for) and often requires you to display a Google Map with the information.
You do have a limited license to do business related geocoding and searches.
I think you may be more interested in a product like Microsoft MapPoint http://www.microsoft.com/mappoint/en-us/home.aspx
While there are many competing products and services, the price point here is great. You may also be able to get it for free along with other apps if you register for their BizSpark program http://www.microsoft.com/bizspark/default.aspx
HTH
Geezer

Geocoding service for a startup?

I'm working on an idea for a service that uses geocoded data (lat/lng) form a US address. Google maps API v3 has been awesome, until I read the terms of service and acceptable uses a little closer. The problem is that the terms seem to prohibit use of the maps API for any commercial use where the site is not freely accessibly to the public, such as a subscription based service. The alternative offered is Google Maps API Premier, but at $10,000 per year minimum, it's just not possible at this time.
Same goes for services offered by Yahoo! and MS - initial fees are small for enterprises, but for a very early stage startup (not even a finished prototype yet!) it's just not doable.
Geocoding process needs to be real-time and volume would be very small - user would enter address at setup time and only update it if needed.
Any help is greatly appreciated!
I've used geocoder.us for a few projects. They do require sign up for a commercial license, on the upside it only costs $50 per 20,000 lookups. I haven't used their commercial services though to know how reliable they are, but during startup and especially because there will primarily only be one lookup per user from what you say, this seems like a safe bet.
The software company I work for (Safe Software) has incorporated a geocoding service into our product (FME). The service is pxpoint from Proxix. I hear good things, so perhaps it's worth checking them out?
WorldWeatherOnline offers a geocoding API as part of their weather forecast service. The accuracy isn't great though. In some parts of my country, I'm getting bogus results. Their support has not been helpful in this matter.