Project name: Android based application for Bus Rapid Transit System locator.

The Android Project name identifies the use of application. It identifies that it is like such a map application. We have developed our application for those users who prefer to travel in Bus Rapid Transit System BRTS bus of Ahmedabad. This application can be useful to the newer people who are much not familiar with Ahmedabad.

This application will show user his/her current location from the phone. For that user should have android OS based phone with internet facility. The application must be installed on your android device. This application will show the user his/her current location and all BRT stops, on selecting various options of the menu user can see Nearest BRT stop from his/her current location , distance from current location to nearest Bus Rapid Transit BRT stop ,next available bus on particular stop , etc.

GPS technology is most developing technology in today’s world in map applications. This technology is used to track the things, persons easily. Mostly this technology was limited up to the military but now it is used for general use to tracking things and persons. All Mobile companies use this technology. Our application is also based on GPS.  Using GPS we are identifying the user`s current location in map.

How we get an idea about developing this application?

Generally whenever we are traveling in city like Ahmedabad, we might prefer to travel in BRT buses because BRT buses are most fast and cheaper way to travel in Ahmedabad. They are also the most popular way of traveling in Ahmedabad. We thought that if any new person arrives in Ahmedabad and wants to travel/traveling in BRT bus, how he/she can know about the route, nearest BRT stop, the distance of nearest BRT stop etc. So we thought to develop such map application in android for phone where user can see his/her current location and perform other functionality. The phone should contain internet connection to run the application. To run this application user needs android OS based phone with android OS version2.1 or above.

The application will/should provide/fulfill following functionality/ requirements:

1)     User should be able see his/her current location from the phone.

2)   When Application icon is clicked and map is loaded, map should show all the BRT stop to the user and also the user`s current location. It depends on the internet speed of your phone. Sometimes user`s current location may not be perfect because of the internet speed.

3)   All Bus Rapid Transit stop should have common icon so that we can identify them as a BRT stop and user`s current location should be identified by different icon so that user can easily identify his/her location from whole map.

4)   When user clicks on any BRT stop on loaded map, it should show display the name of the BRT stop so that user can easily identify BRT stop name.

5)    After loading of map, when user clicks stickly on map for 3-4 seconds then application should generate a menu with three options. They are as follows:

  1. Nearest BRT stop
  2. Route and Distance
  3. Back

6)   When user clicks on any option of the menu it should perform such an action as it is written on menu.

7)    Suppose user clicks on first option of the menu then application should display message with name of nearest BRT stop name like as follows:

Nearest BRT stop : vaniyavad

8)   When user clicks on second option of the menu then application should display message (toast in android) with approximate distance from user`s current location to nearest BRT stop. It should display message like as follows:

Distance to vaniyavad : 1.00234 km approximate

9)   On selecting the second option of the menu, application should also generate drawn path (with red color line) from user`s current location to the nearest BRT stop.

10)In this second option, when user clicks on the any BRT stop then application should display the time of next available BRT stop of particular  BRT stop with name of stop. The time bus should in HH:MM format.

11)   When user clicks on Back option of the menu, the state of menu should return on to the main loading screen. Application should be able to exit successfully when user clicks on exit from the phone.

12)  Application should be support in every company’s phone in which android OS with v2.1 or greater is installed.

Requirements to Run this Android Application:

1)     User must have Android OS based phone with V2.1 or greater version.

2)   There should be 256 MB minimum memory to and 1 MB storage memory to run this application.

3)   There should be Internet facility available in phone so that we can use this application to load the map.

4)   The user should be in network area where user’s phone supports mobile company’s network so that user can run his/her application.

5)    The phone should contain the functionality of GPS so that gps can locate user`s current location easily. GPS technology is most developing technology in today’s world in map applications. This technology is used to track the things, persons easily. Mostly this technology was limited up to the military but now it is used for general use to tracking things and persons. All Mobile companies use this technology.

Screen Snapshots:

    1) First screen of the application:                          

First screen of the application

                          This is the first screen of an application when map is loaded. The map is loaded with user’s current location and all BRT stops. Here Current location is detected by Green downward image arrow and BRT stops are detected by white balloon icons. When you will click on particular BRT stop it will show the name of BRT stop.

2) Menu screen of application: 

Menu screen of application

When you click first screen of map for continuous 3-4 seconds it will generate a menu with  three options.

1)      Nearest BRT stop

2)     Route and Distance

3)     Back

On selecting option of menu it will perform particular operation.

3) Nearest BRT stop: 

Nearest BRT stop

On clicking first option of menu, it will display name of nearest BRT stop with its name. In above screen our current location is DDU University and nearest BRT stop is ddu bus Stop. Application generates BRT stop name using toast. 

4) Distance and Schedule: 

Distance and Schedule

On selecting second option of the menu application will display distance of the nearest BRT stop from user’s current location. Application will also draw the route with red line from user’s current location to nearest BRT stop 

5) Next available bus time:  

Next available bus time

 This screen is generated on clicking on the particular BRT stop. It will display message with next available bus of particular BRT stop.

ItemizedOverLay.java Source code:

<strong>ItemizedOverLay.java</strong>

<strong>package</strong> com.gmap;

&nbsp;

<strong>import</strong> java.util.ArrayList;

<strong>import</strong> android.app.AlertDialog;

<strong>import</strong> android.content.Context;

<strong>import</strong> android.graphics.drawable.Drawable;

&nbsp;

<strong>import</strong> com.google.android.maps.ItemizedOverlay;

<strong>import</strong> com.google.android.maps.OverlayItem;

&nbsp;

@SuppressWarnings("rawtypes")

<strong>public</strong> <strong>class</strong> ItemizedOverLay <strong>extends</strong> ItemizedOverlay {

Context mContext;

<strong>private</strong> ArrayList<OverlayItem> mOverlays = <strong>new</strong> ArrayList<OverlayItem>();

<strong>public</strong> ItemizedOverLay(Drawable defaultMarker,Context context) {

<strong>super</strong>(<em>boundCenterBottom</em>(defaultMarker));

mContext = context;

&nbsp;

// <strong>TODO</strong> Auto-generated constructor stub

}

<strong>public</strong> <strong>void</strong> addOverlay(OverlayItem overlay) {

mOverlays.add(overlay);

populate();

}

@Override

<strong>protected</strong> OverlayItem createItem(<strong>int</strong> arg0) {

// <strong>TODO</strong> Auto-generated method stub

<strong>return</strong> mOverlays.get(arg0);

}

@Override

<strong>public</strong> <strong>int</strong> size() {

// <strong>TODO</strong> Auto-generated method stub

<strong>return</strong> mOverlays.size();

&nbsp;

}

@Override

<strong>protected</strong> <strong>boolean</strong> onTap(<strong>int</strong> index) {

OverlayItem item = mOverlays.get(index);

&nbsp;

AlertDialog.Builder dialog = <strong>new</strong> AlertDialog.Builder(mContext);

dialog.setTitle(item.getTitle());

dialog.setMessage(item.getSnippet());

dialog.show();

<strong>return</strong> <strong>true</strong>;

}

}

Contact us for full source code , online help and more details.