我在 android studio 中的位置有问题

Posted

技术标签:

【中文标题】我在 android studio 中的位置有问题【英文标题】:problem with my location in android studio 【发布时间】:2019-02-22 00:10:43 【问题描述】:

大家晚上好,我想告诉你我的问题,所以我希望在我的 android 中的谷歌地图中出现指向我当前位置的按钮,但是当我在我的真实手机中尝试时(三星 SM-J730G android 7.0 api 24)小按钮没有出现(我没有在模拟器中尝试,因为我也不起作用)。所以我想知道是什么问题,请朋友们在这里帮助我,非常感谢您的帮助是代码:

public class MapFragment extends Fragment implements View.OnClickListener 


private View rootView;
private MapView mapView;
private GoogleMap mMap;
private FloatingActionButton fab;


public MapFragment() 
    // Required empty public constructor



@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) 
    // Inflate the layout for this fragment
    this.rootView = inflater.inflate(R.layout.fragment_map, container, false);
    this.fab = (FloatingActionButton) rootView.findViewById(R.id.fab);
    return rootView;



 @Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) 
    this.fab.setOnClickListener(this);
    this.mapView = (MapView) this.rootView.findViewById(R.id.map);
    if (mapView != null) 
        this.mapView.onCreate(null);
        this.mapView.onResume();
        this.mapView.getMapAsync(new OnMapReadyCallback() 
            @Override
            public void onMapReady(GoogleMap googleMap) 
                mMap = googleMap;
                if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) 
                    return;
                
                mMap.setMyLocationEnabled(true); //I DONT KNOW WHY IT DOES NOT WORK


                  
              );

    



    super.onViewCreated(view, savedInstanceState);

哦,顺便说一句,我调试它和

 if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) 
                    return;   //is entrying here and i donw know why if i have the perssions in the manifest the accces_fine_location and acces_coarse_location
                
                mMap.setMyLocationEnabled(true);   


please somebody help me thanks you

【问题讨论】:

哦,顺便说一下我调试了它 【参考方案1】:

你只检查了运行时权限,如果没有提供你没有请求权限。更新下面的代码和onRequestPermissionsResult检查是否提供了权限设置mMap.setMyLocationEnabled(true);从那里

     @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) 
        this.fab.setOnClickListener(this);
        this.mapView = (MapView) this.rootView.findViewById(R.id.map);
        if (mapView != null) 
           his.mapView.getMapAsync(new OnMapReadyCallback() 
                @Override
                public void onMapReady(GoogleMap googleMap) 
                    mMap = googleMap;
                    if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) 

  ActivityCompat.requestPermissions(context, new String[]Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION, 101);
                        return;
                    
                    mMap.setMyLocationEnabled(true); //I DONT KNOW WHY IT DOES NOT WORK


                      
                  );

        

关于权限结果

@Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) 
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if(requestCode == 101) 
  f (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) 
mMap.setMyLocationEnabled(true);  
                   

【讨论】:

【参考方案2】:

此外,它有助于确保您在使用地图时始终启用 GPS。

【讨论】:

以上是关于我在 android studio 中的位置有问题的主要内容,如果未能解决你的问题,请参考以下文章

android studio 中的 JKS 文件位置未更新

Android Studio:默认项目目录

如何获取当前位置并将其与其他 lolation 或几乎关于 android studio 中的第二个位置进行比较

项目在 Android Studio 模拟器中的位置错误

更改 Android Studio 中的主目录默认位置

新 Android Studio 中的 Apk 位置