Custom Navigator app questions - Android Software Development

Here's a quick background on my situation. I'm a college student and
for my thesis project I've decided to develop a "campus navigator" app
to assist incoming students in getting acquainted with the campus.
This is a year long project so at this point I'm partially
troubleshooting and partially trying to find out if my ideas are going
to run me into walls later down the road.
So as not to have an overwhelmingly long post, I'll just ask about my
current issues for now. The app opens up and allows the user to select
"Map" or "Navigate". I started working with map first because it
should be significantly simpler.
Current State:
The following currently works: hitting the map button displays a .png
of my campus's map (located at (couldn't post the link, so go to brockport.edu and search "campus map" for an image of the map)).
I've cropped the picture to only show the numbered buildings (i.e. the
oval track at the bottom, erie canal along the top, and blank spaces
on left/right near streets are all removed). The resulting image is
923x630.
Using the multi-touch pan/zoom code from Hello, Android! (3rd Edition)
(source code folder Touchv2 available at book's website), the map
display page allows the user to pinch zoom and pan the image. Here's
my first issue. With this implementation, the user is able to pan the
picture out of the screen or zoom out until it only takes up a pixel
or two. Is there any better implementation that will not allow the
user to pan beyond the borders of the image or zoom out past the image
size?
This feeds into my next issue, the "Where I want to be" part. Ideally,
I'd like the map display to use a location manager, and upon location
change, draw a circle where the user is standing. As far as projecting
latitude/longitude to pixel coordinates on the campus.png, that's just
math and I can figure that part out. My question is, since I'm using
an ImageView to put the png in, how can I draw on this? I've been
searching around all day and it appears that Canvas would be the ideal
way, since you can call drawCircle(x, y, radius, paint). However, I
was unable to find a way to correlate an ImageView to a Canvas and
back. On top of this, I need it to base these draws solely on
the .png's pixel coordinates, not the current display (since the image
may be panned or zoomed somewhere that would affect this).
I know it would be simple to just use Google Maps to implement this,
but if possible I'd strongly prefer to use the campus map, as it
clearly depicts all the walkways and buildings on the campus.
Any suggestions/help would be greatly appreciated. I just wanted to
ask early on so I don't make a fatal mistake and have to redesign it a
month before it's due. If you want to see any of my code, just let me
know.
-Mikey

anyone have any ideas? My thesis director is breathing down my neck to make steady progress, but I'm not confident in which direction to continue.

Related

Some tips for setting up favourite places in Google Maps for easy navigation...

I was finding it a bit of a struggle working out the best way to add my Google Contacts to the maps so they were organised sensibly and easy to lookup when using maps/navigation on the phone. Since I couldn’t find a step by step guide to piece it all together, I thought I’d post something here as it may be helpful to others muddling through like me.
I didn’t find an easy way to add all my contacts to the map, but then again I don’t think that’s a major problem - after all, I’m not likely to be visiting everyone listed in my address book.
Here’s what worked for me (there are two choices for the first step, depending whether your using the phone or tour desktop):
1. Adding Stars/Favourites To The Map (Phone)
You can add “Stars” to for your Google Contact from the People app on the phone. Select the contact, then "View home/work address", and assuming there's enough detail it will take you to that point on the map. Click on the marker, and you'll get the black Google Map screen which includes a greyed out star just below the clock. Click this and you’ll get a star on added to your map.
Or...
1. Adding Stars/Favourites To The Map (Desktop)
You can add “Stars” to for your Google Contact to Google Maps by going to the contacts page (http://www.google.com/contacts), selecting the contact and clicking the Map link (next to the address). This will bring up the Google Map page with a marker for that particular contact’s address. The address should also be listed at the left-hand side with a bold blue link. Next to that link will be a feint blue star outline. Click this and you’ll get a star on added to your map.
2. Renaming/Removing Favourites (Desktop)
That’s all well and good, but this star may not have the most convenient name. For example, it might be called “142 Main Street, Leicester”, but for the benefit of navigation, you may want to refer to it as “Home”, or “Dave’s House” etc.
To change the description to something more memorable, go to the Google Bookmarks page (https://www.google.com/bookmarks). Here you’ll be able to see all the starred items on your map and more importantly edit or delete them.
(Stared Items can also be viewed from the “My Maps” page from the main Google Maps site - but you can only view/select them, and not actually edit the details here.)
3. Using Your Favourites (Phone)
After synching your phone, when you bring up Google Maps Navigation Icon (i.e. the relatively new Blue Arrow that appeared in the 4.2.0 update) you’ll see all your favourite places, named accordingly under Choose Destination, “Starred Items”.
You can also access them from the main Google Maps App by clicking on the Bookmark icon next to the Start/End destination options that if you select “Directions”.
Hope this helps!
Matt
If you hold down the magnifying glass and say navigate (contact name) it will take you there,
Fon22
It's all a bit clunky though isn't it? You'd have thought that google would've come up with something at least as good as apple on one of their flagship products!? I got used to using my mrs iphone and it's so intuitive and integrated to add data between maps and contacts and the web.
Not on android. Took me a week to find out how to add a stupid star - which i don't seem to be able to turn off after either and have to have it on my screen. would be good to be able to toggle stars/pins in different layers - ie friends addresses, restaurants etc and to be able to easily integrate between web, maps and contacts.
You'll probably tell me you can - i hope so.
jooliohoolio said:
It's all a bit clunky though isn't it? You'd have thought that google would've come up with something at least as good as apple on one of their flagship products!? I got used to using my mrs iphone and it's so intuitive and integrated to add data between maps and contacts and the web.
Not on android. Took me a week to find out how to add a stupid star - which i don't seem to be able to turn off after either and have to have it on my screen. would be good to be able to toggle stars/pins in different layers - ie friends addresses, restaurants etc and to be able to easily integrate between web, maps and contacts.
You'll probably tell me you can - i hope so.
Click to expand...
Click to collapse
Well you can delete the stars from the bookmarks page (http://www.google.com/bookmarks).
I'm still learning myself, but you're right, it is very clunky. It'd be nice if you could just add a star for the contact to the map with a single click from the phone.
EDIT: You can also delete them using the phone by selecting a star on the map, then deselecting the star in the same way you add it. Whilst you can simply add a star, I can't see a simple way of giving it a sensible name - the one you get always seems to be the first line of the address. It's the renaming bit (Step 2 in my OP) that was the main "missing link" for me, but it's perhaps not quite as clunky as I first thought.
With regards to layers, you can create a map online (My Maps -> Create New Maps) then add/copy places to that map. From the phone, you can then see a specific map by selecting Layers -> More Layers -> My Maps.

UFO sighting app

I think this is a great idea:
http://www.abovetopsecret.com/forum/thread662169/pg1
I have an idea for a UFO Sightings App that I want to share with you all. I'm sharing it because I have zero intention of making it. I don't have the skill or the money to it. I am sharing this with you because I would like to see it get made. I want no compensation in any form for this idea.
So here is the idea: Want to see a UFO? Yeah? Here is an app for that...
When someone with this app sees a UFO he/she must quickly open the app and hit the "Report A UFO Sighting In Progess" button. This would open a scroll menu that gives the witness different options that would help describe what is being seen. ie, saucer, glowing orbs, unknown aircraft, chemtrail, planet x...Once selected another scroll menu would pop up asking estimated altitude ie, 0-1000ft.,1000-10,000ft, 10,000ft-40,000ft., space...One last scroll menu would pop up asking the UFOs direction of travel ie, north, south, east, west, static. Once this info has been given the app switches over to the phones built in camera or video. The app will place an overlay or HUD that gives information on the screen and is recorded as the witness films the event. The information displayed would include direction/heading, time/date, inclination, as well as a timecode stamp to each frame of footage. When the witness stops recording, a button type option will appear asking "Do you wish to stop recording this sighting?" If "yes" is clicked a copy of the sighting is immediatley sent to the "UFOster (or whatever you name the app) Website."
Clicking "No" would bring back the phones camera. One last menu option would be "UFO Sighting Advise." This gives tips on what to do, how to film, what to show, and other info to best capture the UFO.
Here is what makes this App really cool. As soon as the UFO witness answers the three questions, after selecting the report button, an alert goes out IMMEDIATELY to ANYONE who has the app on their phone. So if you have the app you'd recieve a message that would say "ATTENTION! Glowing orbs have been reported __ miles from your location (amount of miles from you based on the witnesses location detected by the phones GPS) and is heading __ (the direction reported by the witness) at an altitude of __ (based on which option the witness choose). This message would then ask if you would like to open "UFOster?"(or whatever you name the app)
When you open the app from the alert message prompt it takes you straight to the phones camera/video with a different overlay or HUD. This HUD has all the same info as a original witness would have but with the addition of a small red arrow that points you in the direction of the reported event. This makes it easy for the directionally challeged to know where to look. Once you start recording you become a new witness and your footage is sent to the website once you stop. This will help stop CGI trickery to help limit hoaxing.
Safegaurds against hoaxing should include limiting the distrobution of the app to people 17 years of age and older. A user rating system and "report hoax/bogus alert" option should be included in the app. Users who have been reported as hoaxers will not have their reports distributed.
Customization options should allow the user to decide the radius of sighting alerts. For example, someone may choose to only recieve alerts within a 30 mile radius. App users may also report a sighting that is no longer in progress in which alerts are not sent out to the app community. The option to be alerted of only specific types of UFOs should be available as well.
The purpose of this app is to gather more witness, more footage, and more camera angles of UFO events. This would greatly increase the chances of putting to rest the age old question, are we alone? Imagine, if a UFO sighting happened in Los Angeles, seen by a witness with this app and we had a few thousand people with it on their phones in the area. Imagine the footage you might get! Imagine the traffic to your website when everyone comes to see the collection from the event.
Thanks for reading. I hope someone out there makes this!
Best of luck,
Quantum D.
Click to expand...
Click to collapse
Would someone be interested in creating an app for UFO sightings?
That's a great idea, except you would need some server with lots of storage for all those videos and a good connection for it which won't be cheap.
I can't help you out now though, I'm taking a java course this semester so down the road perhaps.
Sweet idea. I could have used it a couple of times. The video storrage can be your google account linked to youtube. Pictures can be shared via p2p. If someone starts this app, I will donate time and money.
Really great idea. I have to say you did a fantastic job. please share and update any progress.
soo...whats is going with the app?

[Q] Augmented Reality App Development

I would like to know how the AR app Layar/junaio works. I want to build a similar app but for indoor guide of a particular building. The building is fixed and the plan inside the building doesn't change.
The crux of the app would be to guide visitors of the building to their destinations.
End Result: Possibly throw a map as output or provide wikitude like drive.
Typical Usage:
Visitor visits the building, scans the QR code posted at the entrance and downloads the app from appstore/market
At the lobby, user opens the downloaded app and scans another huge picture (Can be barcode or any unique picture)
The app shows the different areas of the building just like layar or junaio and then user selects a particular area and requires a navigation map as output from the point.
Will be using different unique pictures/barcodes at different point to locate the users location instead of relying on gps as it would not help indoors for navigation.
Any inputs on how to start would be of great help. I'm an experienced mobile app developer and have developed regular utility apps, api mashups etc. But nothing in AR.
AR apps usually use a combination of GPS, Compass, Altitude, Accelerometer, and gyroscope data to figure out the exact location of a device. They then access the camera view and place graphics on top of it.
The problem with your idea is that most AR apps usually come in one of two forms:
- Outside without pinpoint accuracy to position, (the device knows exactly the heading so the direction is perfect but the distance may be a litte off)
- Based off a target symbol (think 3ds card, barcode, etc) to keep a point of reference in the scene
Unfortunately your application would require you to be indoors so it would be extremely hard to figure out the exact position because of the GPS loss. At best you could have a series of "scanable qrcodes" to then display a map and direct the user to the next point. You could determine the exact position of a user by calculating the change in gyroscope data from the beginning to the current time, but that would hard especially dealing with inaccuracies and interruptions.
I think the safest bet for your app would be to have codes at certain points to help at your users. If anyone else has a better answer please correct me XD
Dsbtwins said:
You could determine the exact position of a user by calculating the change in gyroscope data from the beginning to the current time, but that would hard especially dealing with inaccuracies and interruptions.
Click to expand...
Click to collapse
That would be epic... but not all phones have gyros. Soo...
What about having devices setup to emit a distinct directional non audible noise that the phone will listen for and use that to key the user to what room they are in. All phones have a microphone.
Or key off music in a room if there is any
From something awesome
Dsbtwins said:
At best you could have a series of "scanable qrcodes" to then display a map and direct the user to the next point.
I think the safest bet for your app would be to have codes at certain points to help at your users. If anyone else has a better answer please correct me XD
Click to expand...
Click to collapse
Well, I have already discounted the use of gps. Series of QR/Scannable Codes
should help me solve the problem. Since I would only be showing a map from the QR/Scannable Code point.
Let me give you an example of how I would like to implement in real life.
User enters walmart, opens the app after scanning the first scannable code, he gets to see the different areas/offers on the camera view (AR)
and then would like to give a map output on how to reach within, when the user selects say "groceries" on the camera view. The app should give a map output on how to reach the groceries area from the scanned location.
I believe lot of people get lost in locating things in a large retail store. Walmart was just an example to explain, there are other stores which have this issue.
Guys, your inputs on the idea itself are welcome.
killersnowman said:
That would be epic... but not all phones have gyros. Soo...
What about having devices setup to emit a distinct directional non audible noise that the phone will listen for and use that to key the user to what room they are in. All phones have a microphone.
From something awesome
Click to expand...
Click to collapse
I dont think it will work in a noisy environment like malls, retail stores etc. But works well in a ambient place like museum. Though ur idea is brilliant, dont know how it will work in reality.
Yes that sounds like it should be possible. An honestly what you could do is have a large "maker" (some sort of distinguishable shape and color or pattern) on a cube in the middle of the store, that way when the user holds up his phone to look at it, the phone will know what he is looking at depending on which face on the cube it is. you can then use that as a reference in the view and map out location icons over the view.

Navit makes the Galaxy Tab a Good Auto Navigation Tool - Free

With it's just-right display size, the SGTab is particularly well-suited for navigation on the road. Setup is straightforward:
Either install Navit from the market or get the latest nightly build from http{:}//download.navit-project.org/navit/android_armv5te/svn/ (sorry, can't post links yet)
Download maps for desired area
Edit config file for map and preference data
Download voice for turn-by-turn audible instructions
Works amazingly well, no data connection required while driving, and even snaps to nearest mapped location when on roads that are not on the map.
After using for awhile, its greatest need becomes clear:
The ability to set route waypoints. Fortunately, there's a patch that adds this feature - http{:}//trac.navit-project.org/ticket/46 - but it's not committed to trunk yet so the only way to get such a version is to download the source, apply the patch, and compile.
Here's where it gets wonky. As mentioned in the documentation (http{:}//wiki.navit-project.org/index.php/Navit_on_Android), cross-compiling for Android is sketchy. After trying unsuccessfully to build on an x86_64 machine, I've given up.
So the burning question: Any gurus out there want to give this a go and post the resulting .apk for 'testing'?
That is a nice app.
I and several others a work use WAZE.
It is free on the market.
Lets us know where the cops are hidding, and a plus it has navigation.
I was surprised when it was connected via bluetooth to my car radio, and a female voice announced. Police ahead 500 feet.
So dodge that ticket.
Sent from my GT-P1000 using xda premium
@StarLog, thanks for the tip, which made me take a better look at Waze. It IS totally cool. BUT, like Google Maps, it requires a data connection to grab map tiles and calculate routes. This is fine for those who only drive in areas with signal coverage and who have good data plan$. For them, Waze could eventually be superior to GMaps. (Might even be now, don't know.)
Navit, on the other hand, is completely self-contained (no data connection required). When started, it turns the device into a configurable navigator with full access to all onboard maps. Under battery power, no connections of any kind are needed. And I especially appreciate the "configurable" part, which lets me choose data and controls displayed, sizes and colors, and where shown on screen.
Of course, this less dynamic map model makes updates more cumbersome, and there's no provision for real-time input to the database. Two different approaches, two different products.

existing tools for project?

I'm studying for software engineering, and I wish to take on a small project involving making an android app.
The app is expected to involve GPS/google maps, the camera and requires object recognition.
Before starting to actually develop the app, I wish to make a proper sketch for how I'm going to do it. I was wondering if the following already exist as freeware and are possible:
GPS- does it return a X/Y coordinates only, or X/Y/Z (meaning, does it tell the phone how high it is above sea level?)
Google maps/Google earth- is it possible to get the app to take information such as a city layout from it? Also, does it include height information for the ground?
Camera and object recognition- the app is expected to "look" using the camera, and needs to recognize objects. The level of object details is not very important, but it should be able to recognize certain things such as roads, buildings, men and such.
Thanks for the assistance,
Raledon
Raledon said:
I'm studying for software engineering, and I wish to take on a small project involving making an android app.
The app is expected to involve GPS/google maps, the camera and requires object recognition.
Before starting to actually develop the app, I wish to make a proper sketch for how I'm going to do it. I was wondering if the following already exist as freeware and are possible:
GPS- does it return a X/Y coordinates only, or X/Y/Z (meaning, does it tell the phone how high it is above sea level?)
Google maps/Google earth- is it possible to get the app to take information such as a city layout from it? Also, does it include height information for the ground?
Camera and object recognition- the app is expected to "look" using the camera, and needs to recognize objects. The level of object details is not very important, but it should be able to recognize certain things such as roads, buildings, men and such.
Thanks for the assistance,
Raledon
Click to expand...
Click to collapse
I know about an android open source app called GPS share, which will give us a link of our current location, and allow to send that location as a SMS or any message(WhatsApp,BBM,etc).
If you want i could give you the link to the app page(if i can find it).
SufiyanSadiq said:
I know about an android open source app called GPS share, which will give us a link of our current location, and allow to send that location as a SMS or any message(WhatsApp,BBM,etc).
If you want i could give you the link to the app page(if i can find it).
Click to expand...
Click to collapse
After talking with a few people, I've come to realize how much of a problem object recognition is for computers, and that even simple tasks like recognizing roads, people and buildings can be a problem. Until I can solve this issue in a decent fashion, I'll have to put the project on hold.
Thanks for the help, though. I'll look the app up if/when I can continue the project.

Categories

Resources