2017-01-24 1 views
0

조각을 사용하여 LocationListener를 구현했으며 현재 위치를 가져 오려고했으나 성공적으로 가져올 수 없습니다. 내가 놓친 게 있니?locationListener에서 위치를 가져올 수 없습니다.

public class TrafficInformation extends Fragment implements LocationListener{ 

    private MapView mapView; 
    private GoogleMap googleMap; 
    private double myLatitude,myLongitude; 
@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.traffic_information_fragment, container, false); 
mapView = (MapView) view.findViewById(R.id.mapview); 
     mapView.onCreate(savedInstanceState); 
mapView.onResume(); 
try { 
      MapsInitializer.initialize(getActivity().getApplicationContext()); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
mapView.getMapAsync(new OnMapReadyCallback() { 
      @Override 
      public void onMapReady(GoogleMap mMap) { 
       googleMap = mMap; 
       //part of android 6.0 permission 
       int flag = ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION); 
       if (flag != PackageManager.PERMISSION_GRANTED) { 
        ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, 1); 
       } else { 
        googleMap.setMyLocationEnabled(true); 
       } 
       // For dropping a marker at a point on the Map 

       //i set my current location over here------------------- 
       LatLng sydney = new LatLng(myLatitude, myLongitude); 
       googleMap.addMarker(new MarkerOptions().position(sydney).title("Marker Title").snippet("Marker Description")); 

       //For zooming automatically to the location of the marker 

       CameraPosition cameraPosition = new CameraPosition.Builder().target(sydney).zoom(16).build(); 
       googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); 
      } 
     }); 

     return view; 
    } 

나는이 함수에서 그것을 얻으려고 :

@Override 
    public void onLocationChanged(Location location) { 
     myLatitude=location.getLatitude(); 
     myLongitude=location.getLongitude(); 
    } 

내가 myLatitude 및 myLongitude 위치를 얻을 수 없다, 왜? 도움을 주시면 감사하겠습니다.

답변

1

당신은지도에서 위치에 핀을 설정 ... 당신은 위치 업데이트를 요청하지 않는

googleMap.setMyLocationEnabled(true); 

이를 호출

LocationServices.FusedLocationApi.requestLocationUpdates( 
      mGoogleApiClient, mLocationRequest, this) 

를 호출하지 않습니다. 여기

확인이 현재 위치를 요청하는 방법을 볼 수 :

https://developer.android.com/training/location/receive-location-updates.html

+0

덕분에, 나는를 살펴보고 내가 그것을 해결할 수 있기를 바랍니다 –

관련 문제