Displaying 3D routes in Google maps - google-maps

I want user to be able to enter source/destination and take a virtual tour of the route.
PHP is my preferred solution. I am not sure where to start from. I do not have much experience with Google map 3D APIs so need some pointers.
I need something that is similar to Google maps's Helicopter view feature. Gives a bird's eye tour of your route.
Thanks in advance!

You will want to use Javascript, which powers the Google Earth API
Check out the examples at the code playground, especially how to create a line string (for your route) and how to move the camera

Related

Spatio-temporal visualisation with google maps

I have Call Detailed Records(CDR) data which in its raw form has timestamp, latitude and longitude. I have summarized this data to show where a user was on a particular day. What I have now are three fields: Begin(Date),End(Date) and Lat/Lon. Worth noting is that intervals are irregular and Lat/Lon can repeat. My objective is to have a visualization/animation with the following capabilities. Adjustable speed when viewing time so that I can see when a user returns to the same place. It should look something like this or this. I have searched endlessly and cant seem to find pointers to resources for use in Google maps or similar platforms. Now I have a kml file for each user but when I view it in Google Earth, the effects are not what I'm looking for. Problems include speed,its too fast and for some reason I cant control the start date of the animation. Any help will be appreciated.
CanvasLayer.js Library is what you have to integrate with your app code in order to get the sort of animated data on your Map. This library integrates Google Maps and Web GL behind the scenes and you just have to basic code for initialization and add path of your text/kml file, Rest of the things are automated.
Please follow this link to know about the code implementation and also some sample examples.
Hope this would Help!!

keep private google indoor locations

Once again, I'm trying to deal with something not really well documented on Google Maps API.
I'm doing a small webapp which would require to be able to map indoor areas BUT I've to keep them private.
For now, I don't find any informations related to this question.
I've found many quite similar questions on stackoverflow which seems to feet my needs regarding the title, BUT once I read the question, everything is related to Android or IOS however, I'm looking to do this on a regular WebPlatform using Maps APIs provided for this plateform.
If anyone as a hint, it will really help so, thanks in advance.
The documentation for custom StreetViews you find on https://developers.google.com/maps/documentation/javascript/streetview#CustomStreetView
Keeping the images private is not hard to achieve, the images are loaded directly by the client, so you may e.g. use a serverside script that handles the requests and for example checks for a valid session before it delivers the images.
According to the GoogleMaps community forum (https://support.google.com/maps/thread/124604237/how-can-i-make-indoor-maps-private?hl=en) it is not possible to render google indoor maps private. One solution could be using mapspeople api which uses google maps and draws indoor maps on a top layer, or resort to mapwize which utilizes OpenStreetMaps as a base map to draw indoor maps layers on.
https://www.mapspeople.com/mapsindoors/
https://www.mapwize.io/
note that mapspeople requires payment, while mapwize has a very basic free version.

Google Maps API v3 pathing with location service

I'm using Google Maps for my campus map and I already have all the overlays for the buildings done along with javascript to open windows when clicked on the overlay, etc. The next problem I'm trying to tackle is how to get directions from point A to point B (using point A as geolocation). On my campus there is about 2.5 miles+ of sidewalks but they aren't defined paths in google maps, so i cannot use the built in directions which Google maps offers.
Is there any way i can make it so it displays directions from point A to point B while making it so it displays a path along a sidewalk?
Thanks in advance.
EDIT: I already have the geolocation working also.
If Google doesn't know about the sidewalks, you will have to do the drawing yourself. You will need to store information about the sidewalks in a database, then come up with a routing algorithm, then draw a line (using the Polyline class).
For routing algorithms, you might be able to get away with using Dijkstra's algorithm
http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm
or you could try A*
http://en.wikipedia.org/wiki/A*_search_algorithm
or one of the other algorithms you can find in the Wikipedia sidebar on the Dijkstra and A* pages.
Polyline documentation:
https://developers.google.com/maps/documentation/javascript/overlays#Polylines

Get type of terrain by coordinate

I'm looking for a solution to be able determine landscape type by a given coordinate, for example check if current position is water/forest/town/road and so on. I found google.maps.MapTypeStyleElementType object specification in the Google Maps specification, but not sure if it could help me or not.
Probably, there are some another Maps API with such functioality? Or maybe I should refer to the different types of offline maps?
Nope, the link you send is just for styling the proper features, not to tell which feature is at a given coordinate. If you are interested in landscape, then Corine Land Cover is the thing you are looking for. It describes the types of biotops like forest, water, but also land use - meadow, field, buildings etc. However, I don't know if there is such an online service where you could query particular coordinates. Other solution for you would be to import these GIS layers (they are freely available) to your own gis map server. Maybe this is partially solved as there are e.g. projects how to incorporate these into openstreetmap.
Well not quite, but you could get close to what you're looking for by using the Google Reverse Geocoder and the Google Places API
Google Reverse Geocoding
http://code.google.com/apis/maps/documentation/geocoding/#ReverseGeocoding
If you send the service a geocode it will send back an address type and/or one of several adress components http://code.google.com/apis/maps/documentation/geocoding/#Types
Google Places API
http://code.google.com/apis/maps/documentation/places/
You could use the Google places API to search for for what's near. If the geocode is in the middle of the lake, the Places API may return something like "Lake Michigan" and then you'd know the terrain obviously.

How do I use my own maps instead of google maps?

Is it possible to use my own map instead of google maps for my app. How can I do that...Where should I look?
I think you need Open Street Maps (OSM). I have a little GPS app (Maverick Pro) on my Droid, and it can use 3 types of maps: google, bing, and "OSM". The latter seems to be what you need:
http://wiki.openstreetmap.org/wiki/Main_Page
You would need a few things:
A source for data about your geography, in the US see the TIGER Line data published by the Census Bureau.
Software to render the geo data into maps that are visually meaningful, for example Mapnik. Use something like OpenLayers to generate the
movability and nice user features people expect.
Software to deliver the rendered maps efficiently to your users, ie TileCache.
There is a nice summary of this FOSS approach here: http://m.alistapart.com/articles/takecontrolofyourmaps
You may want to check out MapTiler, an open source map tiling tool for Google Maps (and other mapping systems) which runs on Windows and Mac OS X.
MapTiler will automate the tiling process for you through a simple GUI wizard, and in addition, once the tiling process is finished, it will also generate a simple HTML viewer where you can see the results immediately.
Custom Map Tile Overlays are quite an advanced topic in the Google Maps API (even the documentation will warn you in red about this). However, I am sure you will be able to use and understand the HTML viewer of MapTiler.
PostGIS, Geoserver, GeoWebCache, OpenLayers, + GeoEXT gets you all the software you need.
Data is up to you and some of the examples above are good ideas.