2

Googleマップ上で現在の位置の緯度と経度を取得しようとしているため、現在の位置を取得するためにボタンを有効にしていません。Googleマップで経度と緯度が返されない

私はアンドロイドでかなり新しいです。

public class ChatFragment extends Fragment{ 
    // Google Map 
    private GoogleMap googleMap; 
    GPSTracker gpsTracker = new GPSTracker(getContext()); 
    protected String latitude,longitude; 

    public ChatFragment() { 
     // Required empty public constructor 
    } 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) 
    { 
     View chatfrag = inflater.inflate(R.layout.chatfragment, container, false); 


     try { 
      // Loading map 
      initilizeMap(); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     return chatfrag; 
    } 

    /** 
    * function to load map. If map is not created it will create it for you 
    */ 
    private void initilizeMap() 
    { 
     if (googleMap == null) { 
      SupportMapFragment mapFrag = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map); 

      googleMap = mapFrag.getMap(); 
      LocationManager locationManager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE); 
      locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, (LocationListener) this); 
      Location getLastLocation = locationManager.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER); 
      double currentlong = getLastLocation.getLatitude(); 

      double currentlat = getLastLocation.getLongitude(); 

      System.out.print(currentlat); 
      System.out.print(currentlong); 

      if (ActivityCompat.checkSelfPermission(getContext(), android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getContext(), android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) 
      { 
       // TODO: Consider calling 
       // ActivityCompat#requestPermissions 
       // here to request the missing permissions, and then overriding 
       // public void onRequestPermissionsResult(int requestCode, String[] permissions, 
       //           int[] grantResults) 
       // to handle the case where the user grants the permission. See the documentation 
       // for ActivityCompat#requestPermissions for more details. 
       return; 
      } 
      googleMap.setMyLocationEnabled(true); 
      googleMap.getUiSettings().setMyLocationButtonEnabled(true); 

      // check if map is created successfully or not 
      if (googleMap == null) { 
       Toast.makeText(getActivity(), 
         "Sorry! unable to create maps", Toast.LENGTH_SHORT) 
         .show(); 
      } 
     } 
    } 

    @Override 
    public void onResume() { 
     super.onResume(); 
//  initilizeMap(); 
    } 
} 

何か助けていただければ幸いです。

+0

アプリを実行しているときにgpsが表示されますか? –

+0

はい@MiguelBenitez –

答えて

1

は、Googleマップから現在位置を取得したい場合は、私はそれがあなたの役に立つことを願う

googleMap.setMyLocationEnabled(true); 
double currentlong = googleMap.getMyLocation().getLatitude(); 
double currentlat = googleMap.getMyLocation().getLongitude(); 

// if you want to get location update then implement this 
googleMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() { 
    @Override 
    public void onMyLocationChange(Location loc) { 
     // get current location update 
    } 
}); 

、これを試してみてください。

+0

効果なし:/以前と同じ –

関連する問題