I am wondering if it's possible in any way to get a list of businesses that have done a Google Virtual Tour (basically a Street View, for businesses) by querying in Google Maps API.
I was hoping that perhaps the Places Library might contain this information in a response, but no dice. This is kind of visible in an everyday map (see Hotel Boulderado) but I don't think the information is included in any kind of query I can do.
I also saw a few questions dealing with finding a Street View by a specific LatLng - I'm looking for a more general, area-based search.
Any ideas or things I missed?
I was hoping that perhaps the Places Library might contain this information in a response
Places API can provide you a "list of businesses" in an area by trying to filter it up with specific Place Types. You are, however, limited to the constants the API provides. If you're using PlacesService, you can use nearbysearch which I think is more appropriate to your case.
I also saw a few questions dealing with finding a Street View by a specific LatLng - I'm looking for a more general, area-based search.
I'm not sure what you mean by "area-based search", but Street View on a specific LatLng can be tricky since its only available on some areas. The Explore StreetView site highlights what countries currently have data (zooming in suggests that it doesn't necessarily captured the whole country; mostly are road routes, etc.)
A StackOverflow entry indicates a way to handle if StreetView is available or not.
Hopefully the answer raised some clarifications in your end.
Related
Google Maps does an excellent job of using polygons to represent areas wherever possible, particularly from the search bar:
But in some cases (navigation) a point geometry is required, no matter how vague or large-scale the area being searched, and this can result in some funny-at-best, completely-wrong-at-worst locations:
There are two ways that I know of that are widely used to generalize a polygon to a point:
Calculate the geometric centroid (there are various ways to do this but they'll all produce similar results)
Choose an point of administrative importance (i.e. navigating to "New York, NY" takes you to city hall)
In some cases Google appears to do neither of these things, and I can't figure out how the point was chosen. Specifically, navigating to "Vermont" directs you to a field on the outskirts of a village in the Northern part of the state, far from any examples of 1. or 2. above.
What other method could Google be using in cases like this?
I've received information from side channels that this is a quirk of Google's geographic features algorithm. Many thanks for the suggestions, but this one appears to be less of a mysterious puzzle and more of a transient bug.
I have a database with about 5000 customers. All saved with lat/lng coordinates.
For our field personnel i have integrated the google maps directions api so that they can calculate the route from our headquarters to the chosen customer. That works perfect.
My problem is that i want to show all additional customers on that route. Has anyone ever done this before or has an idea on how to implement that? In my opinion the only way is to walk the returned array from google directions and do a nearby search with every waypoint.
Any other ideas?
It seems the most sensible answer does indeed seem to be walking the array. Unless you are not tied into your specific database. In which case I would suggest looking here at a previous answer, and consider using a POSTGiS database. This will allow you to perform corridor range searches more easily.
If you are tied to a database then perhaps this link will aid with the implementation of your solution. The library creates bounding boxes along the route within a distance to speed the querying process.
Is there a way to determine what traffic condition is at specified concrete point or street? I figured out i could just "ask directions" and divide by length but it would be more convenient to have such stuff in the api, i.e., get the full list of streets where is currently a traffic jam in one city.
I have been looking for those API's myself. Dont think they are available.
Is there any such functionality provided by google maps API, such that I draw a random area on google map and then through some functions in the API, receive a list of all cities and sectors that were covered under that drawn area ?
Any information or help is greatly appreciated.
No, that functionality does not exist (as far as I know, anyway). You can try to fake it by selecting a sufficient number of points in your polygon and reverse geocode them, but obviously that is an imperfect solution in terms of both performance and completeness.
Barring that, there may be resources that you can license for a fee or there may be a resource made available by the government of India that may help you solve this problem. (Or perhaps there is not. I'm speculating.)
My client wants some of the functionality of Google maps namely:
- geocoding
- generating maps with points based on postal code or long.lat
- optimal trip mapping
Their issues with Google maps
- cannot control outages
- postal codes are sometimes inaccurate or not updated frequently for Canada/UK
- they have no way to correct inaccurate information
They would prefer to host the mapping application themselves, but will require postal code updates.
Can anyone suggest such a product?
thanks
"cannot control outages - postal codes are sometimes inaccurate or not updated frequently for Canada/UK - they have no way to correct inaccurate information"
Outages
hosting your own mapping is the only way to control this, but you would be very very hard pushed to beat Google Maps / Bing Maps uptime over the last 5 years. Take a look at the following:
OpenStreetMap for the road imagery data, this is open source data very good in the UK (Im not sure about canada) and you can make your own changes and submit them (or just change the data you have downloaded)
Geoserver, Mapnik or MapServer will read openstreetmapdata and create the image tiles needed to create your own maps in whatever style you wish. Depending on if you dont want all countries and all zoom levels these products can create all the tiles you will need in advance, but usually they have to be created in real time and cached. You need a BIG fast server to manage tile crunching
Openlayers or Leaflet are open source javascript mapping platforms that will display your tiles for you
Obviously this is just for road maps, aerial imagery would cost you an absolute fortune.
Post Code Data
Many people do not realize that UK postcode data for latitude and longitude is now completely free and available to download every quarter from the official source (ordinance survey) http://www.ordnancesurvey.co.uk/oswebsite/products/code-point-open/index.html.
This is the same data source Google will use and there is none better but it will always contain inaccuracies and always be a few months out of date.
Finally
Hopefully that answer the question you asked and gives you information to inform your client. Now for the question you didn't ask "Is this approach good value to my client?".
I won't presume to know your business or client, however what I described above is possible but with one to many months of work involved to get it all working together and even then it wont have any where near the performance or uptime of something like google /bing maps and only offers a small subset of their features.
I think you're looking for something like Caliper-It's a very custom, and I would expect expensive, solution. Not suggested.
http://www.caliper.com/GISMappingSoftwareDevelopment.htm
One solution could be to use two different mapping services and compare their results, this way there's a much better chance the data is accurate. You can also fix inaccurate data by creating a system which acts as a barrier between the API and your user, where data you know is inaccurate is corrected before it's displayed. Not sure exactly what you're doing though, so this might not work for you.
Is trip mapping/routing the basic functionality you want to do?
Before rushing into rolling your own, I'd suggest a good think about the consequences of doing so. The first that springs to mind is whilst the pros are that you can now control your data, the cons are that you now control your data.
So you are going to have to consider where and when you get updates and the processes you are going to have to employ to keep your maps in sync with the rest of the world. There are a lot of headaches involved in these things which is why so many people use externally hosted solutions such as Googles.