Alternate routes based on construction with Google Maps API Directions Service - javascript

Is it possible to use Google Directions API in conjunction with construction data? For instance, if I had a map that I entered a bunch of construction areas, can Google Directions then be made aware of these and to avoid them, providing a better route?

There is no way (currently) to input "roadblocks". See this feature request (star it if you want to support it):
http://code.google.com/p/gmaps-api-issues/issues/detail?id=214

Related

Issue in google maps embed API with time

I trying to implement search for places at particular time with transit mode in google maps with print option. So i used google maps EMBED API. What i achieved is i can search for places with origin and destination parameters in transit mode. What i cannot be able to do is search with specific time. There is no parameter in official documentation given regarding time . For reference https://developers.google.com/maps/documentation/embed/start
I have used JS Fiddle http://jsfiddle.net/pravinkumar/t5kg4gc2/ to replicate this problem. Please someone help me find a solution.
I think both Embed API and Static Maps API does not provide that function.
You can either use the server side Google Directions API, which has a similar format, to get that info, in additional to your embed api,
https://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&departure_time=1343641500&mode=transit&key=API_KEY
or else you should switch to the Javascript API. You should able to do that with the Transit Options
As you note from its absence in the documentation, time-of-travel routing is not a supported feature.

google maps offline: not tiles but javascript

I have an HTML (phonegap) application that uses Google Maps API to display a map with markers. I want this app to be used offline. I know that Google Maps tiles can't be used offline (because of its license). However, what I want to do is use the map interface without the tiles.
When online -> tiles and markers displayed.
When offline -> only markers displayed.
However, the js loading of Google maps is complex, and I haven't managed to cache it.
Thanks.
Caching google maps javascript is not allowed, that's because their payment system is based on how many times their javascript API are loaded by the users. One page refresh is equal to one google maps API call, and depending what kind of contract you made you just lost -1 from the total amount of API requests you have purchased.
How is Google Maps API for Business usage tracked and reported?
A single load of the Google Maps JavaScript API into a page. The
JavaScript API is reloaded every time a page that uses the API is
reloaded. User interactions with the map (eg. panning, zooming,
changing map types) do not generate more page views. Note however that
a page view is generated if the API is loaded into the page even if
the API is not then used to display a map.
See https://developers.google.com/maps/documentation/business/faq#pageview
You could, of course contact google and try to ask some tailored business solution for your needs. I am not 100% sure what kind of things they offer if you contact them directly. But although, your request is somewhat impossible to fill since those UI generation codes also resides inside that google maps API javascript which you need.
So I would suggest that if you only need google maps interface when offline, take a moment and implement something similar with HTML/CSS/ (and some JS).. markers you could draw on canvas or use normal img's and positioning. If you need to implement dragging and zooming - it would be little bit more difficult but not impossible with canvas or some other techniques. But that being said it would just be easier to keep app online, we all have internet :) ? Making 1on1 matching dummy offline UI against google maps would be really painful process, when we consider the fact that google maps UI also changes overtime, like in their upcoming versions.
You could use OpenStreetMaps instead, it can be used offline: http://wiki.openstreetmap.org/wiki/Offline_Openstreetmap

Google Maps API for queries, not rendering

Is there a way to go through the process of creating a google map without all the rendering stuff? I have a project in which I need to do some spacial queries on a map, and I'm using the Maps API for it, but I don't actually have to display the map.
I know I could obviously just do display: none, but if it's possible, I'd like a solution that doesn't waste a bunch of client processing power to draw all of the map stuff in the first place, whether it actually gets rendered or not.
Apparently that is not allowed by the Google Maps/Google Earth APIs Terms of Service, section 10.1 g)
Quote:
(g) No Use of Content without a Google Map. You must not use or display the Content without a corresponding Google map, unless you are explicitly permitted to do so in the Maps APIs Documentation, or through written permission from Google.

Update Google Directions on the fly

I am creating a mobile app using Phonegap, JQuery Mobile and Google Maps API V3. The mobile app will allow users to input a destination address and then using the Google Directions API, I will show them the navigation directions to arrive to their destination.
However, the application will also be marking on the map any roads closed due to construction or maintenance works. Is there a way so that if Google Directions shows the driver to go through a particular road where there are maintenance works I change the route for him to go through a different street? The road which will be closed will be marked by a map marker, so as such all I need to do is check if there is a marker and if so, update the route to go from a nearby road/side street.
I am quite new to this, and would be really glad if someone can point me to some tutorial or tell me how this can be done.
Thanks!
There is no option to the specified particular road though, you might be able to get alternative route from Google Direction API.
You should specify "provideRouteAlternatives" property when the code invokes DirectionsService.route() method.
Then Google will attempt to calculate another routes.
That is only available option that I have known.
provideRouteAlternatives property
https://developers.google.com/maps/documentation/javascript/reference#DirectionsRequest

Google Maps api custom tiles for fictional video game world

I want to use the Google Maps v3 api to generate an interactive Google Map interface that uses custom tiles for a map from a video game. The app needs to be able to zoom-in out and display the proper tiles for each zoom level as well.
I'm looking for some resources or a tutorial on how to accomplish this. The Google Maps v3 API appears to only discuss using custom tiles that lay on top of the normal Google Maps tiles. That wouldn't make sense in my application since my map is for a fictional world and wouldn't line up with anything in the real world maps. Perhaps I'm just not seeing what I need in the API guide...
Check out the ImageMapType class in the reference. There's a nifty example showing Moon tiles.
One of my favourite applications is The Internet map, the developer wrote a pretty sweet article on how it was developed.
You need to either cut up your custom game map image into the appropriate file/directory structure that makes integration into Maps API easy (here's an example using Photoshop and some example HTML/JS code). Or use a more friendly tool like TileMill, but this expects data in a standard spatial data format and you probably don't have your game map stored in such a format. If you can go that route, they also provide a Node.js-based server called TileServe that makes integration a cinch.
If you are expecting a boatload of traffic, then maybe look at Google Maps Engine to host your custom game map image directly in Google's infrastructure.

Categories