java - 看不到我的当前位置,位置按钮没有出现

标签 java android google-maps

我正在开发一款可以在 map 上显示我当前位置的应用程序。我阅读了有关当前位置的信息,我需要在我的代码中添加以下行,并且在它之后必须出现位置按钮。但它不起作用。你能帮帮我吗?

mMap.setMyLocationEnabled(true);

这是我的代码。

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 googleMap) {
        mMap = googleMap;

        // Add a marker in Sydney and move the camera
        LatLng sydney = new LatLng(-34, 151);
        mMap.addMarker(new MarkerOptions()
                .position(sydney)
                .title("Marker in MyLocation")
        );

        mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 40));
        if (ActivityCompat.checkSelfPermission(this,    Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            // TODO: Consider calling
            return;
        }
        mMap.setMyLocationEnabled(true);
    }
}

Android list :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.hakobm.currentlocation">

    <uses-permission android:name="android.permission.INTERNET"></uses-permission>  
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>    
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>    
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <!-- Google Play Services -->
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="@string/google_maps_key" />

        <activity
            android:name=".MapsActivity"
            android:label="@string/title_activity_maps">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

最佳答案

你要记住这一点

You can use the My Location layer and the My Location button to provide your user with their current position on the map.

在启用“我的位置”层之前,您必须确保拥有所需的 runtime location permission .你可以查看我的answer来自相关的 SO 问题和 How can I show current location on a Google Map获取更多信息。

关于java - 看不到我的当前位置,位置按钮没有出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39804594/

相关文章:

java - 未找到父键 - Spring 事务管理

java - 不使用 +、* 和 - 求负数

android - 翻译 ViewPager 滚动条上的 float 操作按钮

java - 在不创建全新列表类的情况下将 Arraylist 转换为 Observable 列表?

Android:定位debug.keystore时命令行出现keytool错误

javascript - 谷歌地图保存标记位置?

javascript - 从 Google Maps Javascript API 中的重叠层获取信息

java - JXTreeTable 上的固定列

java - 您需要在单元测试中使用 Theme.AppCompat 主题 -->

java - Firebase Android 中的 ListView 制作