Google maps in some region can serve traffic information showing the blocked roads and so on. I was wondering if there is any code example demonstrating how can I serve traffice information for my own region.
"Google Maps Hacks" has a hack, "Hack 30. Stay Out of Traffic Jams", on that.
You can also find out how to get U.S. traffic info from John Resig's "Traffic Conditions Data" article.
For your own data, you'll want to implement a custom tile overlay.
Google is mum on what source they use for their traffic data. You might contact them directly to see if they want to implement something for you, but my guess is that they'd simply refer you to their provider if they really wanted your data.
Keep in mind that traffic data is available for more than just the metropolitan areas, but Google isn't using it for a variety of reasons - one of the big reasons is that the entire tile set for the traffic overlay in areas with traffic tiles has to be regenerated every 15 minutes or so. It just doesn't scale.
So even if you managed to get your data in their flow, it likely won't be rendered.
-Adam
I found that googl has a class called GTrafficOverlay and this is based on extending the GOverlay class. Now, it is getting clearer that I am looking for an open implementation of the GTrafficOverlay
Related
For a project at my university I have to collect information about Google Indoor Maps. I spent several hours searching information about how Google Indoor Navigation really works. I've found several links on how to create Google Floor Plans like this:
http://support.google.com/gmm/bin/answer.py?hl=en&answer=1685896
And how you can improve location accuracy with the Google Maps Floor Plan Marker app:
http://support.google.com/gmm/bin/answer.py?hl=en&answer=2667756&topic=1685871&ctx=topic
They say the app collects public broadcast data. But nowhere information about which information is collected and how. Several discussions here and a few articles I found say that google uses wifi-access points and the cellular antennas for indoor positioning. But I couldn't find any official information from Google, which I can use in my project.
Can you suggest me where I can find answers to the following questions:
How does the Google Maps Floor Plan Marker really work? Which information is collected and how? A official technical Google paper would be nice, so I can use that for my work.
How can I increase the accuracy of the Google indoor navigation, by adding Wifi Access Points, Bluetooth stations or other technology?
How can I add additional information like Emergency exits and toilets to a floor plan, so the user can navigate with his smartphone to this special points?
Is it possible to add information about rooms, so the user can tap with the finger on them to get additional information? For Example which department is situated in this room and so on?
I found a lot stuff about indoor positioning and indoor navigation. But nothing about how google uses them.
Thanks in advance.
This project just provides maps for indoor places. It doesn't do anything special to augment navigation in these places beyond the standard (GPS, WiFi, etc).
When they talk about (augmenting) positioning with Wifi and Cellular data, they are talking about the same stuff they use on the regular Google maps. This data is collected from cell tower info, and the Wifi stuff is sniffed from the Google street-view cars and then augmented by user-data as people with devices come into contact with these devices and send info back to Google.
It is not very accurate - or even accurate as GPS. It is kind of a "ballpark" estimate. For example, if a Google street-view car detected your WiFi signal when it drove by your house - if you had no GPS, and Google Maps saw your WiFi box, it could estimate that you were somewhere within a few hundred feet of where the Google Street View car detected the signal.
Not as accurate as GPS - but not too bad if you conciser within a few hundred feet better than "no idea". In short - these sources to not give you better or more refined positioning of indoor places. They would be good - for example - to be able to tell you that you are in that particular building if you were inside, and out of GPS coverage.
Indoor positioning uses WLAN interface. To estimate the real-time location of a user, location systems have to perform a number of steps and various calculations. The calculation of more than one distance from several Access Points (APs) could be used to estimate the exact
location.
The main principle states that signal strength at the receiver is inversely proportional to the square of the distance that the signal travels.
RSS fingerprinting method is used which is based on recording and sampling of patterns of radio signals in specific environment called as pattern recognition or fingerprinting.
Since this post is a little old I thought I would still add my thoughts. First of all you can make edits for your own custom maps using MyMaps. As the previous answers stated Google Maps uses cell data, wifi data, gps, etc for tracking. It can also use phone sensor data such as your accellerometer. With the current level of wifi infrastructure it can actually be quite accurate using a method of wifi fingerprinting (The more access points the more accurate it will be given they are effectively positioned). There are several scholarly articles demonstrating its viability down to a couple meters of accuracy. I would suggest reading an article on RSSI fingerprinting. Also check the google maps developer documentation for more detail on editing map information.
Also I was reading that they will be using light detection for additional indoor accuracy (not sure if implemented yet).
Is there any way to add a business with complete information (with address, geospatial location, categories, trading hours etc) to Google Places in a programmatic fashion?
We want to add new franchises to a listing of stores. Manual changes are too brittle, the bulk upload takes a long time to be confirmed and the standard Places API has only a very limited method on it. Am I missing something or is there no support for managing your own store listings via an API?
I don't think you're missing anything at this time. Support for that sort of thing is currently limited to what's documented at the link you provide, I believe.
The Places stuff is in the odd grey area where Google is kind of pushing it and promoting it, but also saying that it's just in Labs, it's just experimental, etc., so it may not have all the features you need.
There might be other ways to get your businesses into Google Maps, if your concern is Google Maps generally and not the Google Places stuff specifically. If they exist, they may have more fully featured API capabilities for updates. Or this might be a big dead end.
If this issue is closer to a big annoyance instead of a total dealbreaker, then the approach I'd recommend, if you can wait long enough, would be to implement what you can in the existing API, and keep an eye on the API docs to see if they add more capabilities in the coming months. Open a feature request for Places API in the issue tracker and maybe keep an eye on other features requests there, especially issue 2431.
I want to know how to read the traffic information from google map as here in the following image. Google only displays the traffic layer by red, green, and yellow lines. But how can an application identify the color and find out how much traffic there is between source and destination.
Visually users can see with their eyes and identify the colors but what about the application?
Google Maps API does not expose traffic data. Your best bet is probably to find a different solution for your traffic data. Microsoft MapPoint might meet your needs.
UPDATES to answer questions in comments:
Whether there is a free service may depend on what geographic area you are concerned with. I imagine (but don't know for certain) that there may be places where government entities make the data available. Or maybe not. Regardless, generally, no, you can't get this data for free. It is expensive and challenging to collect, and no doubt Google pays someone a substantial fee for the data (and is probably forbidden from distributing raw data).
Meanwhile, the data Yahoo! offers is completely different from Google's traffic data. Yahoo! provides information about accidents, road work, etc. Google's information has to do with the actual speed of vehicles on the roadway. As far as I know, Google does not provide that information with the Maps API.
In any event, Google's raw traffic data is unavailable to your application.
As always, what various services offer can and will change and this answer may not age well. But it is, to the best of my knowledge, accurate at the current time.
I want to create an application where users can mark on map location of polluting factories. Google map provides a MAP editor feature. We would like to have our own website like www.toxic-map.org where people could mark these locations. What would be the best approach for this?
Additionally we should be able to backup this database which could be cross checked or used for other purposes.
This will enable us to have little accurate census of such entities and thereby helping us in the fight against these environment harming, illegal factories. Most of our work is focused on developing countries of Asia.
Edited: Google maps is one of the options. I am open to other possible solutions as well. I am looking at something we could do quick prototyping in.
Thank you in advance!!
On the client side, I recommend you to have a look at OpenLayers, a free and open source web mapping framework released under a BSD-style License. It is completely written in Javascript and offers a lot of functionality, including the features that your application may need (Add markers to the map, drag them to adjust the locations, ...).
It also supports dozens of different geographic data formats and services such as WMS, KML or Google Maps.
If you are worried about licensing issues regarding the use of Google Maps, you can use other global data sources like OpenStreetMap or a public WMS if they provide enough coverage of your area of interest.
On the server side, I agree with the answer provided by Daniel Vassallo. I will just add a little detail and recommend you to serve the markers in a standard format natively supported by OpenLayers like KML, GeoJSON or GeoRSS. It will make really easy to draw the markers on the map.
Looks like a really interesting project, I hope you are lucky starting it up.
I seem to remember that there are restrictions to what you can do with the coordinates if you enter them through Google's interface, but if that doesn't bother you then sure, Google might be the way to go. (It may just pertain to geometrical figures entered into Google Earth or something like that.)
Google seems to be in line with your ideology anyway, as they're doing a lot of green power development. Might even be a selling point.
But if you can input the data separately and have Google Maps just display it for you then I wouldn't think they could hold claim to the data.
I think your best bet is to use the Google Maps API instead of the map editor in My Maps.
With some basic JavaScript, you will be able to allow users to drop markers on the polluted locations they would want to tag.
You will need a database on the server-side, and a thin application layer that:
Accepts and validates new markers added by users.
Serves the markers from the database to the browser.
You may want to use AJAX to interact between the browser and the application layer.
I think this type of project would be an excellent candidate to be hosted on the Google App Engine. You will be able to leverage on the simplicity of the webapp framework, and the Google Datastore appears to fit well.
As a side-note, you might be interested in checking out the Heat Map API for Google Maps. I think heat maps would look good in a project like this.
The approach is this:
1. User can drag the marker to the location of toxic factory.
2. A simple form opens to enter details of the toxic factory.
3. The latitude, logitude and other datails are then saved in database.
Please refer www.loppee.com They have a similar solution where user can mark the location of people or places of interest. Loppee uses LeafletJS javascript framework. It is a simple framework. You would be able to develop quick prototype. LeafletJS.com has simple and easy to use code samples.
Additionally, you can enable Geolocation and IP triangulation. Refer: Longitude and latitude value from IP address
I'm looking to build a custom view of a Google Maps type of application for providing directions, but I need to blacklist specific roads or sections of roads. I'm not talking just avoiding highways or Toll Roads. I've been looking through the Google Maps and Mapquest APIs but haven't found anything of use yet.
Initially I'm just looking to manually blacklist specific roads that I do not want to drive on, but eventually would like there to be some sort of automatic detection or suggestion.
Is there built-in functionality to support blacklisting specific roads in Google Maps or Mapquest? Or is there any known way to hack it together?
As mentioned in another answer, this functionality is not directly available in the Google Maps API. However, I've been thinking about it, and had a couple of work-around ideas in the "hacking it together" category. Both of these rely on version 3 of the Google Maps API.
When requesting the directions, set provideRouteAlternatives to true. Loop through the alternatives. Check if that route passes through one of your roadblocks. If it does, discard that route and try the next one.
For each roadblock, set up in advance one or more alternate points to route through. For example, if you want to avoid a certain bridge, identify one or more alternate bridges to use. Now, if a route passes through one of your roadblocks, add the alternate point for the for roadblock as a waypoint (with stopover set to false). Now run the directions again and they should avoid the roadblock and use the alternate.
Neither of these methods are optimal, but depending on your situation, they might work for you.
There is an open feature request about this issue on the Google Maps API Issue Tracker:
Roadblock definitions into GDirections as coordinate points
The issue has been acknowledged by Google, but it remains open. You may want to vote up the issue to signal to Google the demand for this feature.
I think mapquest lets you do this, see http://www.mapquestapi.com/directions/#output
and check out the section for mustAvoidLinkId's and tryAvoidLinkId's
I tried all google maps alternatives, and none of them allows the possibility to define road that avoids certain road except Here maps. I am delighted with this solution and it solved all my problems https://developer.here.com/documentation/routing/topics/route-avoiding-links-and-areas.html
You don't need to blacklist the whole road, you can blacklist only some part of that road and the map will try to avoid that if possible.