0

이 경우지도는 내가 만들고자하는 응용 프로그램에 나타나지만 응용 프로그램이 열릴 때 폴더는 현재 위치가 아니라 Sout Atlantic Ocean에 나타납니다. 응용 프로그램을 열 때 현재 위치를 표시하는 방법이 있습니까?앱을 시작할 때 현재 위치를 얻는 방법은 무엇입니까?

여기 내 코드입니다 : 내 질문에 문제가있는 경우

public class GmapFragment extends Fragment implements OnMapReadyCallback, 
     ActivityCompat.OnRequestPermissionsResultCallback, 
     LocationListener 
{ 

    GoogleMap mMap; 
    GoogleApiClient mGoogleApiClient; 
    Location mLastLocation; 
    double longitude; 
    double latitude; 



    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.fragment_gmaps, container, false); 
    } 


    @Override 
    public void onViewCreated(View view, Bundle savedInstanceState) { 
     super.onViewCreated(view, savedInstanceState); 

     MapFragment fragment = (MapFragment) getChildFragmentManager().findFragmentById(R.id.map); 
     fragment.getMapAsync(this); 
    } 


    @Override 
    public void onMapReady(GoogleMap googleMap) { 
     LocationManager locManager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE); 

     boolean network_enabled = locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); 

     Location location; 

     if(network_enabled){ 

      location = locManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 

      if(location!=null){ 
       longitude = location.getLongitude(); 
       latitude = location.getLatitude(); 

       mMap.addMarker(new MarkerOptions() 
         .position(new LatLng(-7.0559935,110.4320226)) 
         .title("Kos Munyiq")); 

       mMap.addMarker(new MarkerOptions() 
         .position(new LatLng(-7.0500666,110.4264657)) 
         .title("Kos Pos")); 


       mMap.animateCamera(CameraUpdateFactory.zoomTo(0)); 
       mMap.setMyLocationEnabled(true); 
       mMap.getUiSettings().setZoomControlsEnabled(true); 
       mMap.getUiSettings().setMapToolbarEnabled(false); 
      } 
     } 
    } 

    @Override 
    public void onLocationChanged(Location location) { 
    } 
} 

죄송합니다.

답변

0

마커를 추가하고 있습니다. 당신이 당신의 위치를 ​​변경하더라도 ... 당신은 당신의 현재 위치를해야하는 경우, 정적, 당신은 단지 것

mMap.setMyLocationEnabled(true); <<this is the main line 
mMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() { 

@Override 
public void onMyLocationChange(Location arg0) { 
    mMap.addMarker(new MarkerOptions().position(new LatLng(arg0.getLatitude(), arg0.getLongitude())).title("It's Me!")); 
    } 
}); 

위치에 변경 기능이 당신에게 당신의 위치를 ​​줄 것이다 .. 대신 그 마커의 다음 코드를 사용하십시오 조금 축소/확대,

mMap.setMyLocationEnabled(true); 
mMap.addMarker(new MarkerOptions() 
        .position(new LatLng(latitude,longitude)) 
        .title("It's Me!")); 

그런 다음 카메라를 애니메이션을 적용 할 것, 다음과 같은 코드가 필요합니다. 도움이 되길 바랍니다. 건배!

+0

나를 도와 주심에 감사드립니다. 코드에 해당하는 설명을 변경하려고했습니다. 지도가 나타 났으 나 여전히 남 대서양에 있으며 현재 위치 버튼이 사라집니다. 내가 한 일에 뭔가 이상이 있니? – Plokodot

관련 문제