package edu.gricar.brezskrbnik.navigacija; import java.util.List; import com.google.android.maps.GeoPoint; import com.google.android.maps.MapActivity; import com.google.android.maps.MapController; import com.google.android.maps.MapView; import com.google.android.maps.Overlay; import edu.gricar.brezskrbnik.ApplicationBrezskrbnik; import edu.gricar.brezskrbnik.R; import android.content.Context; import android.content.Intent; import android.location.Criteria; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.net.Uri; import android.os.Bundle; import android.widget.TextView; public class KjeSemActivity extends MapActivity { ApplicationBrezskrbnik app; double lat, lng; static public String dom; @Override protected boolean isRouteDisplayed() { return false; } //debug //keytool -list -alias androiddebugkey -keystore /Users/matej/.android/debug.keystore -storepass android -keypass android //8D:22:34:2A:C0:70:9C:0C:B4:A1:AC:B3:C7:12:2D:1C //http://code.google.com/android/maps-api-signup.html MapController mapController; MyPositionOverlay positionOverlay; String latLongString; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); System.out.println("Delo!"); setContentView(R.layout.maps_main); MapView myMapView = (MapView)findViewById(R.id.myMapView); mapController = myMapView.getController(); myMapView.setSatellite(false); myMapView.setStreetView(false); myMapView.displayZoomControls(true); myMapView.setTraffic(false); mapController.setZoom(17); LocationManager locationManager; String context = Context.LOCATION_SERVICE; locationManager = (LocationManager)getSystemService(context); // Add the MyPositionOverlay positionOverlay = new MyPositionOverlay(); List<Overlay> overlays = myMapView.getOverlays(); overlays.add(positionOverlay); Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setAltitudeRequired(false); criteria.setBearingRequired(false); criteria.setCostAllowed(true); criteria.setPowerRequirement(Criteria.POWER_LOW); String provider = locationManager.getBestProvider(criteria, true); Location location = locationManager.getLastKnownLocation(provider); my_updateWithNewLocation(location); locationManager.requestLocationUpdates(provider, 2000, 10, locationListener); } private final LocationListener locationListener = new LocationListener() { public void onLocationChanged(Location location) { my_updateWithNewLocation(location); } public void onProviderDisabled(String provider){ my_updateWithNewLocation(null); } public void onProviderEnabled(String provider){ } public void onStatusChanged(String provider, int status, Bundle extras){ } }; public void my_updateWithNewLocation(Location location) { TextView myLocationText; myLocationText = (TextView)findViewById(R.id.myLocationText); if (location != null) { positionOverlay.setLocation(location); Double geoLat = location.getLatitude()*1E6; Double geoLng = location.getLongitude()*1E6; GeoPoint point = new GeoPoint(geoLat.intValue(), geoLng.intValue()); mapController.animateTo(point); lat = location.getLatitude(); lng = location.getLongitude(); latLongString = "Lat:" + lat + "\nLong:" + lng; myLocationText.setText("Trenutni položaj je:" + latLongString); Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?saddr="+lat+","+lng+"&daddr=" +dom + ",")); startActivity(intent); } } public String vrniLokacijo(){ latLongString = "Lat:" + lat + "\nLong:" + lng; return latLongString; } }