android studio map.setMyLocationEnabled(true) 中的错误 getMap();
Posted
技术标签:
【中文标题】android studio map.setMyLocationEnabled(true) 中的错误 getMap();【英文标题】:error getMap() in android studio map.setMyLocationEnabled(true); 【发布时间】:2018-07-10 04:10:05 【问题描述】:大家好,请帮帮我。我不知道该怎么办
我也做了android studio
给出的建议
【问题讨论】:
显示什么错误? 请将您的代码和 logcat 作为代码发布。 用MapFragment
代替SupportMapFragment
为你投射片段
确保您已在清单中授予访问精细位置/课程位置的权限,因为您将 MyLocationEnabled 设置为 true。除此之外,您必须授予运行时访问位置的权限。
【参考方案1】:
getMap() 已弃用。像下面这样使用 getMapAsync()。
MapFragment mapFragment = (MapFragment) getFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
【讨论】:
我应该把这个编码放在哪里【参考方案2】:这两个错误是不同的。
-
getmap() 已弃用。你必须使用
mapFragment.getMapAsync(this)
setMyLocationEnable
需要检查ACCESS_COARSE_LOCATION
和ACCESS_FINE_LOCATION
的运行时权限。
对于问题 1,试试这个:
mapFragment.getMapAsync(new OnMapReadyCallback()
@Override
public void onMapReady(GoogleMap googleMap)
map = googleMap;
);
对于第 2 期使用此
if (googleMap != null)
if (ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission(getActivity(), 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);
【讨论】:
我应该把这个编码放在哪里。我已经在 androidmanifest.xml 中使用了权限位置,但仍然错误 答案更新请检查以上是关于android studio map.setMyLocationEnabled(true) 中的错误 getMap();的主要内容,如果未能解决你的问题,请参考以下文章