I saw these maps in the websites of some universities and I just loved them:
http://www.uottawa.ca/maps/
http://www.washington.edu/maps/
http://map.nd.edu/#/placemarks//zoom/16/lat/41.6993288511065/lon/-86.23415926449582
I would really like to do something like that in an Android app. I've been looking for a way to do it but I've found no clue. Since I'm new to this API I feel quite disoriented.
So, could you please point me in the right direction? Give me some hints, somo tutorials or whatever you think it can be useful.
You can get the mapview easily enough using the Google Maps API. Then you need images of whatever buildings you are proposing to put on the map. The images can be added to a map overlay which will appear on top of the map. The tricky part then, is to match the geo-coordinates of your buildings to the map so that when a user scrolls the map, the images move as well and also to scale the images as the user zooms in and out.
Related
In my app I added the map of Google Maps and you can navigate within a given area (which can not be done through maps as it is not drawn). Now I would like to customize the map and add image overlays to the buildings so as to better target people. Let me explain with an example:
In the picture is the image of the building that I customized.
Now I want place the image over the google map. I saw that there GroundOverlay but I can not place it properly.
Does anyone have any tips?
I would recommend using Polygon Shapes instead of Images. Working with Images like you intend to do, would probably be very hard later on.
You might want to look at:
https://developers.google.com/maps/documentation/android-api/shapes
Im on my final project in which I would like to build an android app especifically for the university context. Therefore I would like to use geolocation but for matters of detailed information (colors, shapes, buildings, etc) and gamefication I would like to draw my own map and the user should be able to see his position on this map. So I would have this drawn map and I would use the device's location service and transform the coordinates to a position on my map.
I'm kinda lost on this, didn't find much on the web. So I would apreciate if anyone could point me a direction or if anyone could tell me how hard would it be to implement. Would it be as simple as a function Point foo (double lat, double lon);?
Thanks in advance.
Drawing the whole map completely would be rather difficult and would involve loads of extra work, thus I would suggest you an alternative that would allow you to have your own drawings, on top of the already made Map.
You could for example use the groundoverlay, for items that you want to draw yourself. and then use the google maps under it to show the map, and to handle any positioning etc.
I built my application using Google Maps and it is using:
-BalloonItemizedOverlay
-BalloonOverlayView
-ItemizedOverlay
and what it does:
-Displays multiple points on map, each one clickable and balloon appears with relative text + description.
-Displays and updates the marker/point of user's position.
The only reason I want to switch to Open Street Map is because I would like to use the feature "caching map tiles" (presaving maps) which as far as I have looked it up is not allowed with Google Maps.
Can someone help me convert my application thoroughly to use OSMdroid instead of GoogleMaps? Providing me with some guides (very few support for OSMdroid at the moment...)
I have already looked up a lot of codes but they mostly differ in comparison with Google Maps and I can't seem to get it all right. I have managed to display user's location on the map but adding BalloonItemizedOverlays and so on is a hassle.
Anyway just help me out in any way you can - proposals on how to do it, sites with guides, anything :)
Thanks
http://code.google.com/p/osmbonuspack/wiki/Tutorial_1
http://code.google.com/p/osmbonuspack/wiki/Tutorial_2
I think these two tutorials should get you started with Balloons and Customized Balloons
Itemized overlay with osmdroid is quite easy to use, you should give it a try and you will get the feel of it once you try it our.
My app that I'm working on is mostly informational. I have a MapView setup right now to use MyLocationOverlay to track where the user is. I'm planning on having a list of coordinates for all of the buildings in the area. If a user wants to see where it is on the map, they can open up my dialog, find the building in the list, click it, and have an overlay drawn for it.
I'm not sure the correct way to go about for this. I already know how to create map overlays. Would the best approach be to have a HashMap for latitudes and one for longitudes, and then go out and grab the coordinates manually to store into those maps? By manually I mean having to find the coordinates myself and code them in by hand. If I do this, what is the best way to find them manually? I noticed by poking around in the javascript for Google Maps that there was a lat/lng value for the center of the map, but it would be a pain to do this for 100+ buildings.
Or should I be making a Google Maps query for the building and getting the coordinates for the overlay like that? I have done some searching, but have no clue what to do if this is the best way to do it. I was also thinking that I might run into some query limit by doing it this way rather than having the coordinates programmed directly into my app.
I'm not a beginner with Android or programming, but my data structures knowledge is a bit rusty. Any ideas would be greatly appreciated (maybe I'm approaching the whole thing wrong).
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)