Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 28/02/12, 21:12:57
Avatar de gohan0189
gohan0189 gohan0189 no está en línea
Miembro del foro
Mensajes: 190
 
Fecha de registro: feb 2012
Mensajes: 190
Tu operador: TELCEL
Mencionado: 0 comentarios
Tagged: 0 hilos
Localizacion

hola

regreso con un tema de gps ya que necesito que al dar click a mi boton muestre mi ubicacion ya me salen los mapas de google pero no me muestra donde estoy ya que no se como reaizar 4esto alguien me puede ayudar?? este es mi codigo

Código:
public class GoogleMaps extends MapActivity {
 @Override   
     public void onCreate(Bundle savedInstanceState){  
super.onCreate(savedInstanceState);  
setContentView(R.layout.gps);

MapView mapView =(MapView) findViewById (R.id.map_view);
mapView.setBuiltInZoomControls(true);
LocationManager locationManager = (LocationManager) getSystemService (Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates (LocationManager.GPS_PROVIDER,6000,50,
new Location (mapView.getController(),locationManager,getBaseContext()));
mapView.setBuiltInZoomControls(true);
}  
         @Override  
    protected boolean isRouteDisplayed()
         {  
      return false;  
      } 
          }

Código:
public class Location implements LocationListener {
    private Context context;
    private LocationManager locationManager;
    private MapController mapController;
        
public Location (MapController mapController, LocationManager locationManager, Context context)
    {
    this.mapController = mapController;
    this.locationManager= locationManager;
    this.context = context;
}
    @Override
    public void onLocationChanged (android.location.Location loc) {
        Toast.makeText(context, "onLocationChanged",Toast.LENGTH_SHORT).show();
        
        if(loc!=null) {
            Toast.makeText(context,
                    "Location changed : Lat: "+loc.getLatitude()+ "Lng: " + loc.getLongitude(), Toast.LENGTH_SHORT).show();
            
            GeoPoint p =new GeoPoint (
                    (int) (loc.getLatitude() * 1E6),
                    (int) (loc.getLongitude()* 1E6));
            
            mapController.animateTo (p);
            mapController.setZoom (12);
        }
        else
        {
        Toast.makeText(context,"location changed to null value", Toast.LENGTH_SHORT).show ();
        }
        
        //por el emulador ??
        locationManager.removeUpdates (this);
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,
                new Location (mapController, locationManager, context));
        }
    @Override
    public void onProviderDisabled (String arg0) {
        Toast.makeText(context,"Provider Disabled",
                Toast.LENGTH_SHORT).show();
        
    }
    @Override
    public void onProviderEnabled(String arg0){
        Toast.makeText(context, "Provider Enabled",
                Toast.LENGTH_SHORT).show();
        
    }
    @Override
    public void onStatusChanged(String provider, int status, Bundle arg2) {
        Toast.makeText(context, "Status on " + provider + " is " + getStatusMessage(status),
                Toast.LENGTH_SHORT).show();
        
    }
    
    private String getStatusMessage (int status) {
        //TODO Auto-generated method stub
        
        if (status ==1)
            return "contecting";
        else if (status ==2)
            return "conected";
        return "unknown";
    }
    }
Responder Con Cita


  #2  
Viejo 29/02/12, 02:12:39
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
¿Lo estás probando en el emulador o en un móvil?

Si es en el emulador tienes que hacer esto:

1) En el emulador activar Ubicaciones Simuladas en Ajustes -> Aplicaciones -> Desarrollo
2) Con Telnet fijar una ubicación para que el emulador la emule (valga la redundancia)

telnet localhost 5554

Y una vez que ha conectado

geo fix <valor de longitud> <valor de latitud>

Yo lo he probado en una aplicación que necesito GPS aproximado, es decir, usando NETWORK_PROVIDER, y funciona, supongo que con GPS_PROVIDER también debe funcionar.

Y el código a primer golpe de vista sin fijarme mucho tiene pinta que está bien, también tiene pinta que lo has cogido de ejemplo de algún sitio, así que debe estar correcto.
Responder Con Cita
  #3  
Viejo 29/02/12, 19:27:36
Avatar de gohan0189
gohan0189 gohan0189 no está en línea
Miembro del foro
Mensajes: 190
 
Fecha de registro: feb 2012
Mensajes: 190
Tu operador: TELCEL
Mencionado: 0 comentarios
Tagged: 0 hilos
si de hecho lo tome de otro lado pero no me muestra mi localizacion, abre el mapa y todo muy bien pero no m muestra donde estoy, y contestando a tu pregunta lo estoy probando en un movil
Responder Con Cita
  #4  
Viejo 01/03/12, 23:53:46
Avatar de gohan0189
gohan0189 gohan0189 no está en línea
Miembro del foro
Mensajes: 190
 
Fecha de registro: feb 2012
Mensajes: 190
Tu operador: TELCEL
Mencionado: 0 comentarios
Tagged: 0 hilos
bueno cambie un poco mi codigo jejeje

Código:
import java.io.IOException;
import java.util.List;
import java.util.Locale;
 
import android.content.Context;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.widget.Toast;
 
import android.graphics.drawable.Drawable;
import android.os.Bundle;
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 com.google.android.maps.OverlayItem;
/**
 *
 * @author Inmobart
 */
public class GoogleMaps extends MapActivity {
      private MapView mapView;
    private MapController mc;
    private LocationManager locationmanager;
 
    
 @Override   
     public void onCreate(Bundle Bundle) {
        super.onCreate(Bundle);
        setContentView(R.layout.gps);
        
        mapView=(MapView) findViewById(R.id.map_view);
        mapView.setBuiltInZoomControls(true);
        mapView.setSatellite(true);
        mapView.setStreetView(false);
        mapView.setTraffic(false);
        
        mc =mapView.getController();
        mc.setZoom(14);
        
        locationmanager= (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        locationmanager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0,new GeoUpdateHandler());
        
       
       }
 
 @Override
 protected boolean isRouteDisplayed(){
     return false;
 }
 
 public class GeoUpdateHandler implements LocationListener{
     @Override
     public void onLocationChanged(Location location){
         int lat=(int) (location.getLatitude()*1E6);
         int lng=(int) (location.getLongitude()*1E6);
         GeoPoint point = new GeoPoint (lat,lng);
         mc.setCenter(point);
          
     }

        public void onStatusChanged(String provider, int status, Bundle extras) {}

        public void onProviderEnabled(String arg0) {}

        public void onProviderDisabled(String arg0) {}
 }
pero no se que ni donde poner para que me aparesc un icono , imagen o lo que sea en mi posicion me pueden ayudar??

Última edición por gohan0189 Día 02/03/12 a las 00:00:26
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 23:55:39 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007