0
我想通过Google地图上的位置按钮获取当前位置,但我遇到了一些问题。有了新的运行时权限(API级别23),我不知道自己做得好不好。 使用下面的代码,当我使用虚拟设备API 23时,位置按钮不会出现,并且虚拟设备API 22会显示但不会执行任何操作。那么问题是什么? 位置按钮不起作用GoogleMaps v2
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback{private GoogleMap mMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps); // Obtain the SupportMapFragment and get notified when the map is ready to be used. SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); } @Override public void onMapReady(GoogleMap map) { mMap = map; LatLng sydney = new LatLng(-34, 151); mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { mMap.setMyLocationEnabled(true); } else { // Show rationale and request permission. } }
}
清单文件:提前
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
谢谢..
我的确如你所说。我允许我的立场。所以现在,出现位置按钮。但是,点击时,它什么都不会做。我想要点击时,相机会移动到我的位置。 api level 23怎么可能? 我曾经这样做过这些运行时权限之前,只有这一行“mMap.setMyLocationEnabled(true);”但我不知道它如何与这一个.. – Lankan
请确保按钮可以点击。因为在我的布局中,它位于工具栏下,无法点击。当我删除它工作的工具栏。 –
@ Irving-Zamora评论:在OnMyLocationButtonClickListener上,你必须返回false,这样我们才不会消耗这个事件,并且默认行为仍然存在,即(摄像机动画到用户的当前位置)。 – Mogsdad