Android Open Source - Mapyst Location Finder






From Project

Back to project page Mapyst.

License

The source code is released under:

Apache License

If you think the Android project Mapyst listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C) 2013 Mapyst//from  ww  w  .j av a  2s.com
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.mapyst.android;

import com.mapyst.route.InterpretedInfo;
import com.mapyst.route.Interpreter;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.Toast;

public class LocationFinder {

  private LocationManager mlocManager;
  private LocationListener mlocListenerGps;
  private LocationListener mlocListenerNetwork;
  private Location currentGpsLoc, currentNetworkLoc;

  private Mapyst app;

  public LocationFinder(Mapyst app) {
    this.app = app;
  }

  public void setupLocService() {
    mlocManager = (LocationManager) app
        .getSystemService(Context.LOCATION_SERVICE);
    mlocListenerNetwork = new LocationListener() {
      @Override
      public void onLocationChanged(Location loc) {
        currentNetworkLoc = loc;
      }

      @Override
      public void onProviderDisabled(String provider) {
        // Toast.makeText(app, "Current Network Location Disabled",
        // Toast.LENGTH_LONG);
      }

      @Override
      public void onProviderEnabled(String provider) {
      }

      @Override
      public void onStatusChanged(String provider, int status, Bundle extras) {
      }
    };
    mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mlocListenerNetwork);

    mlocListenerGps = new LocationListener() {
      @Override
      public void onLocationChanged(Location loc) {
        currentGpsLoc = loc;
      }

      @Override
      public void onProviderDisabled(String provider) {
        Toast.makeText(app, "Current GPS Location Disabled", Toast.LENGTH_LONG).show();
      }

      @Override
      public void onProviderEnabled(String provider) {
      }

      @Override
      public void onStatusChanged(String provider, int status,
          Bundle extras) {
      }
    };
    mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mlocListenerGps);
  }

  public void endLocService() {
    if (mlocManager != null) {
      mlocManager.removeUpdates(mlocListenerGps);
      mlocManager.removeUpdates(mlocListenerNetwork);
    }
  }

  public InterpretedInfo getCurrentLocation() {
    if (currentNetworkLoc == null && currentGpsLoc == null) {
      InterpretedInfo failure = new InterpretedInfo();// known to be
                              // unsuccessful
                              // because it has no
                              // suggestions

      Toast.makeText(app,  "Sorry, we could not find your current location.", Toast.LENGTH_SHORT).show();
      return failure;
    }
    Location loc = currentGpsLoc;
    if (loc == null)
      loc = currentNetworkLoc;

    Interpreter interpreter = new Interpreter(app.campus);

        return interpreter.interpretLatLng((int) (loc.getLatitude() * 1E6),  (int) (loc.getLongitude() * 1E6));
  }
}




Java Source Code List

com.mapyst.FileHandlerInterface.java
com.mapyst.android.AndroidFileHandler.java
com.mapyst.android.CampusLoader.java
com.mapyst.android.Compass.java
com.mapyst.android.DirectionsList.java
com.mapyst.android.Images.java
com.mapyst.android.LocationFinder.java
com.mapyst.android.MainScreen.java
com.mapyst.android.Mapyst.java
com.mapyst.android.Settings.java
com.mapyst.android.Splash.java
com.mapyst.android.asynctask.CampusLoaderTaskPrefs.java
com.mapyst.android.asynctask.CampusLoaderTask.java
com.mapyst.android.asynctask.RouteMakerTaskPrefs.java
com.mapyst.android.asynctask.RouteMakerTask.java
com.mapyst.android.ui.CenteredToastFactory.java
com.mapyst.android.ui.CompassOverlay.java
com.mapyst.android.ui.DirectionIcon.java
com.mapyst.android.ui.DirectionsListAdapter.java
com.mapyst.android.ui.DirectionsListItem.java
com.mapyst.android.ui.DrawingHelpers.java
com.mapyst.android.ui.Icon.java
com.mapyst.android.ui.LocationsAdapter.java
com.mapyst.android.ui.LocationsListView.java
com.mapyst.android.ui.RouteMapOverlay.java
com.mapyst.android.ui.SlidingScrollView.java
com.mapyst.android.ui.map.AnimatedMapZoomer.java
com.mapyst.android.ui.map.LocationBalloon.java
com.mapyst.android.ui.map.LocationChooserOverlay.java
com.mapyst.android.ui.map.MapUtils.java
com.mapyst.android.ui.map.MapViewLimiter.java
com.mapyst.android.ui.map.MapViewMover.java
com.mapyst.android.ui.map.OnMapTouchLimiterListener.java
com.mapyst.android.ui.map.PriorityMapView.java
com.mapyst.android.ui.map.ViewItemOverlay.java
com.mapyst.campus.Building.java
com.mapyst.campus.Campus.java
com.mapyst.campus.Floor.java
com.mapyst.campus.ListOfCampuses.java
com.mapyst.campus.Location_Type.java
com.mapyst.campus.Location.java
com.mapyst.route.Arc.java
com.mapyst.route.DataParser.java
com.mapyst.route.Direction.java
com.mapyst.route.DistanceCalculator.java
com.mapyst.route.GraphNode.java
com.mapyst.route.InterpretResult.java
com.mapyst.route.InterpretedInfo.java
com.mapyst.route.Interpreter.java
com.mapyst.route.LatLngPoint.java
com.mapyst.route.Prioritizable.java
com.mapyst.route.PriorityQ.java
com.mapyst.route.RouteFinder.java
com.mapyst.route.RoutePreferences.java
com.mapyst.route.Route.java
com.mapyst.route.ShortestPath.java
com.mapyst.route.Waypoint2D.java
com.mapyst.route.WaypointID.java
com.markupartist.android.widget.ActionBar.java
com.markupartist.android.widget.ScrollingTextView.java