Android无法获取设备的当前位置

时间:2016-12-12 10:20:27

标签: android location maps

我正在尝试获取我的Android手机的当前位置并在地图上显示。它适用于其他设备,但我的设备仅显示世界地图,只要我的设备的GPS已打开。这是我的代码:

  if(locationManagerCheck .isLocationServiceAvailable()){
        if (googleMap == null) {
            try {
                googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
            } catch (Exception e) {
                Toast.makeText(getApplicationContext(),
                        e.getMessage(), Toast.LENGTH_SHORT)
                        .show();
            }
            if (googleMap == null) {
                Toast.makeText(getApplicationContext(),
                        "Harita oluşturulamadı", Toast.LENGTH_SHORT)
                        .show();
            } else {
                googleMap.setMyLocationEnabled(true);
                googleMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
                    @Override
                    public void onMyLocationChange(Location location) {
                        double latitude = location.getLatitude();
                        double longitude = location.getLongitude();
                        LatLng latLng = new LatLng(latitude, longitude);

                        googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 15));
                        googleMap.setOnMyLocationChangeListener(null);
                        // MarkerOptions marker = new MarkerOptions().position(new LatLng(latitude, longitude)).title("Konumunuz");
                        //marker.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW));
                        //googleMap.addMarker(marker);
                    }
                });
            }}

    }else{
        locationManagerCheck .createLocationServiceError(Anasayfa.this);
    }

请指南。

1 个答案:

答案 0 :(得分:0)

检查以下所有条件:

1)你需要在谷歌开发者控制台上创建android map api密钥。 https://developers.google.com/maps/documentation/javascript/get-api-key

2)如果您已经创建了api密钥,那么请检查您是否在密钥文件中粘贴了相同的密钥。

如果您是通过android studio创建的,则“res / values / google_maps_api.xml”是您需要粘贴密钥的文件。

3)如果满足以上两个条件,则在控制台上检查您在生成密钥时粘贴了正确的Sh1指纹和包名称。您可以在google_maps_api.xml文件中找到您的Sh1和包名称。

4)如果检查了上述所有条件,那么检查您是否拥有清单文件中的使用权限。?

5)如果上面的所有内容都没问题,那么粘贴你的logcat或错误。 那么只有SO可以帮助你更多。

根据您的使用情况,您需要提供“互联网”权限并访问“精细或粗略位置”或两者。

如果您想了解如何获取用户当前位置的信息,请查看以下链接: https://developer.android.com/training/location/retrieve-current.html

或搜索SO你会发现很多ans。