I am developing a simple app that has a generalized, drawed, map image, but I want to add the ability to switch between this map and the sattelite image of Google Maps. However I do want the Google Maps oriented in a specific bearing. Is this in any way possible?
Any other idea of solution?
Regards, Jonas
Jonas,
I don't think the Google Maps JavaScript API supports arbitrary bearings. Google has a cache of rendered map tiles for the "normal" bearing, and I think rendering and caching tiles for other bearing points would be prohibitively expensive. Also, the mathematical algorithms would need to be updated to support that scenario.
However, Google Earth might do the trick. It's also possible you could render your own map tiles with something like MapServer.
Good luck!
Related
I need to implement a map for a shopping mall in my app. This map needs to have a way to visually mark the fastest path to go from one place to another.
I currently have two options in mind. I could use the Google Maps API, overlay the shopping mall's picture and try to use some algorithm to mark the best route. Or, I could just place the picture and manually make an algorithm to mark the path (probably Dijkstra).
Yet, it's my first time working with Android, and I don't really know which one could work the best, and which libraries I could use.
I'd appreciate any tip or suggestion.
Google map has an android api that you can directly embed google maps into your application. You can also draw overlays using its api. Take a look at
google map android api
A few years ago we wanted to add a custom map over Google Maps (like the World looks like Midearth), but back then it was not possible. Now, I can see multiple apps that have their own overlay over Google Maps.
I tried creating my own map via Google Maps using their suggestions, but this was only for pins and routes.
What I need is to have the real cities on the map (like Rome, London, Paris), but with my own custom graphics for everything (map tiles, pins, etc.).
What document shall I read for this? I am sure I missed something on Google Maps.
Yes! It is possible with Google Map V2. You should consider using TileOverlay.
Essentially, every time GoogleMap wants to draw tile for specific coordinate - it asks you to provide this tile. You can use either static tile (see TileProvider) or you can provide URL, so GoogleMap goes to your web server and downloads this tile automatically (see UrlTileProvider)
I think what you want is GroundOverlay which can be any bitmap image that will be displayed on top of the basemap. You can even control the translucency of your map.
You most likely want to have your map image oriented north up and be scaled according to Mercator projection if the scale of your map is large enough to include Rome, London, and Paris. But if your map covers a smaller area, you don't need to worry about Mercator projection.
I am trying to implement an android application using maps. On a little research, I have narrowed down to either GoogleMaps or OpenStreetMap.
Since GoogleMaps doesn't allow us to save(cache) the maps offline, i have decided to use OpenStreetMap(OSM). But in that the satellite imagery can't be viewed after a zoom extent. So am planning to add my own images in OSM.
Is it possible to do so?
PS: This is know if it is feasible. I haven't started implementation yet.
I have a server with a lot of Places of Interest information. (long, lat, picture url, name, etc)
About 100.000 items.
What is the best way to: load/download it into Android, and
what is the best way to show them on a Google Maps?
For such a big amount of Markers I suggest you give KML Layers a shot.
With Google Maps you can either have google render all markers for you, (default: KMLLayers)
or you can rely on GeoXML3 for client side parsing.
The same applies to Android Google Maps. Layers can easily be added using this: How to draw a path on a map using kml file?
Can we use our own map(Like our house map) and then use GPS to show where we are in the map?
If it is possible then how to do it?
You can do anything you want, but if you are asking if there is an easy way to do this, no.
You would have to produce a scale drawing, then map the pixel space to the scale of the image, know what geopoints represented the corners of your map, then project that onto your scaled display image.
Some open source products use tiled images similar to google maps, but they use OSM data, I suppose if you were dedicated you could use that and turn your map into tiles but I would think for your purposes it would be easier to do this your self.
You might check the google code repository etc. and other open source venues and see if anyone has done anything similar to this.
Also the best accuracy you are going to get is about 2m, and certainly not indoors (if you got a signal at all)