Java 谷歌地图v2安卓版的“我的位置”按钮,未显示
我正在用谷歌地图做一个应用程序,但当我尝试添加“我的位置”按钮时,正如参考资料所说的那样,不起作用 我就是这样做的:Java 谷歌地图v2安卓版的“我的位置”按钮,未显示,java,android,google-maps,Java,Android,Google Maps,我正在用谷歌地图做一个应用程序,但当我尝试添加“我的位置”按钮时,正如参考资料所说的那样,不起作用 我就是这样做的: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); map = ((SupportMapFragment) getSuppor
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
locManager = (LocationManager)getSystemService(LOCATION_SERVICE);
providersList = locManager.getAllProviders();
provider =locManager.getProvider(providersList.get(0));
precision = provider.getAccuracy();
req = new Criteria();
req.setAccuracy(Criteria.ACCURACY_FINE);
inside = false;
map.getUiSettings().setMyLocationButtonEnabled(true);
buildPolygon();
drawPolygon();
startLocalization();
}
我使用了
map.getUiSettings().setMyLocationButtonEnabled(true)代码>如谷歌参考中所示。我不知道发生了什么。默认情况下,myLocationButtonEnabled
为true,并在启用setMyLocationEnabled
层时显示
试试这个:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
// Add this line
map.setMyLocationEnabled(true);
locManager = (LocationManager)getSystemService(LOCATION_SERVICE);
providersList = locManager.getAllProviders();
provider =locManager.getProvider(providersList.get(0));
precision = provider.getAccuracy();
req = new Criteria();
req.setAccuracy(Criteria.ACCURACY_FINE);
inside = false;
//map.getUiSettings().setMyLocationButtonEnabled(true);
buildPolygon();
drawPolygon();
startLocalization();
}
setMyLocationEnabled
setMyLocationButtonEnabled
只需添加map.setMyLocationEnabled(true)代码>创建地图后
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
像这样
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
map.setMyLocationEnabled(true);
对我来说,map.setMyLocationEnabled(true)
它对低于棉花糖的设备和高于棉花糖的设备运行良好,我在应用程序设置中手动授予了位置权限。
后来我的位置按钮出现了。上面的答案不起作用
override fun onMapReady(googleMap: GoogleMap?) {
this.googleMap = googleMap
setupMap()
}
private fun setupMap() {
if (ActivityCompat.checkSelfPermission(context!!,
Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
// Before enabling the My Location layer, you must request location permission from the user.
googleMap?.isMyLocationEnabled = true
// *** Use this method ***
googleMap?.uiSettings?.isMyLocationButtonEnabled = true
// See https://developers.google.com/maps/documentation/android-sdk/location
googleMap?.setOnMyLocationButtonClickListener(this)
googleMap?.setOnMyLocationClickListener(this)
} else {
// Show rationale and request permission.
requestPermissions(arrayOf(Manifest.permission.ACCESS_FINE_LOCATION),
LOCATION_REQUEST_CODE)
}
}
添加以下行
科特林:
map.isMyLocationEnabled = true
map
是一个谷歌地图对象
(此问题的更详细答案:)您需要许可才能使其可见
if (ActivityCompat.checkSelfPermission(Maps_Activity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
ActivityCompat.checkSelfPermission(Maps_Activity.this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
requestPermission();
return;
}
mMap.setMyLocationEnabled(true);
真的!!!哦,上帝。。脸掌!非常感谢。。。你知道,它工作得很好。没有看到我的位置分析。再次感谢!!!我们中最优秀的人有时也会遇到:)。很高兴我能帮忙。祝你好运!在我的例子中,添加setMyLocationEnabled(true)没有帮助,除非我的代码同时获取/侦听位置。不知何故,这会触发蓝点出现在地图上。