위치기반으로 어플 공부하고 있는데요
LocationListener mLocationListener;
MapView mapView;
MapController mc;
List<Overlay> overlay;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.frame_third_main);
// TODO Auto-generated method stub
mapView=(MapView)findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
mapView.setSatellite(false);
LocationManager lm =(LocationManager)getSystemService(Context.LOCATION_SERVICE);
mc = mapView.getController();
mLocationListener = new LocationListener(){
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
if(location != null){
Toast.makeText(getBaseContext(), location.getLatitude()+","+location.getLongitude(), Toast.LENGTH_SHORT).show();
GeoPoint gp = new GeoPoint((int)(location.getLatitude()*1000000), (int)(location.getLongitude()*1000000));
mc.animateTo(gp);
mc.setZoom(19);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.dot);
bitmap = Bitmap.createScaledBitmap(bitmap, 20, 20, false);
Drawable drawable = new BitmapDrawable(bitmap);
Healthier_frame_third_Overlay h_overlay = new Healthier_frame_third_Overlay(drawable);
OverlayItem overlayitem = new OverlayItem(gp, "", "");
h_overlay.addOverlayItem(overlayitem);
overlay = mapView.getOverlays();
overlay.add(h_overlay);
}
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
// TODO Auto-generated method stub
}
};
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2, 3, mLocationListener);
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
public void onDestroy(){
super.onDestroy();
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
lm.removeUpdates(mLocationListener);
}
이거와 OVERLAY 로 공부중인데요
제가 만든 거는 건물안에서 제 위치정보를 받지 못하는데요
갤스 기본 내장 지도에는
제 위치를 잘 잡아네네요..
어떻게 해야 건물안에서도 위치를 잡을수있을까요..
좌표가 아예 안 들어오거나 아주가끔 하나씩 적은 확률로 들어와요....
실내에선 LocationManager.NETWORK_PROVIDER를 사용하셔야 3G망이나 WIFI망을 통해 좌표를 받아옵니당...



