2013-10-14 4 views
0

내 마지막 위치는 업데이트되지 않지만 googlemap.setMyLocationEnable(true)은 내 위치 정보를 업데이트하고 있습니다. 누구든지 도와 줄 수 있습니까? 여기 내 코드는 다음과 같습니다.Android Google지도 위치 업데이트 작업하지 않음

private void setUpMap() { 

    if(googlemap == null) { 

     googlemap = ((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap(); 

     if(googlemap != null) {   
      googlemap.setMyLocationEnabled(true); 

      LocationManager lm = (LocationManager) getSystemService(LOCATION_SERVICE); 

      String provider = lm.getBestProvider(new Criteria(), true); 

      if (provider == null){ 
       onProviderDisabled(provider); 
      } 

      lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); 
      Location loc = lm.getLastKnownLocation(provider); 

      if (loc != null) { 
       onLocationChanged(loc); 
      } 

      googlemap.setOnMapLongClickListener(onLongClickMapSettings()); 
     } 
    } 
} 

private OnMapLongClickListener onLongClickMapSettings() { 
    // TODO Auto-generated method stub 
    return new OnMapLongClickListener() { 

     @Override 
     public void onMapLongClick(LatLng arg0) { 
      // TODO Auto-generated method stub 
      Log.i(arg0.toString(), "User long clicked"); 
     } 
    }; 
} 

@Override 
public void onLocationChanged(Location location) { 
    // TODO Auto-generated method stub 
    LatLng latlng = new LatLng(location.getLatitude(), location.getLongitude()); 

    googlemap.moveCamera(CameraUpdateFactory.newLatLng(latlng)); 
    googlemap.animateCamera(CameraUpdateFactory.zoomTo(15)); 

    Marker ME = googlemap.addMarker(new MarkerOptions() 
    .position(latlng) 
    .title("Current Location(You)") 
    .snippet("Current") 
    .icon(BitmapDescriptorFactory.fromResource(R.drawable.user_marker))); 

} 

답변

1

나는 당신이 안드로이드에서 Google지도를 사용하는 옛 방식과 새로운 방식을 혼용하고 있다고 생각합니다.

새로운 방법 (v2, 권장)을 사용하는 경우 LocationManager를 인스턴스화 할 필요가 없으며 LocationManager를 인스턴스화 할 필요가 없습니다.

공식 문서에, 여기에서 확인하시기 바랍니다, 적절한 방법으로 일을하는 방법 : https://developer.android.com/training/location/receive-location-updates.html

당신은 단순히 당신이 당신의 LocationRequest 개체에 따라 올바른 매개 변수를 설정 만들 때, 물론, LocationListener를 구현해야 너의 요구.

Android 용 v2 버전 API를 사용하지 않는 경우 https://developer.android.com/google/play-services/location.html부터 시작하는 것이 좋습니다.

관련 문제