google android map sdk地图和定位

2019-11-20  本文已影响0人  黄小楼vincent

1.首先在项目的APP gradle里面添加依赖
//google地图

    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    implementation 'com.google.android.gms:play-services-location:17.0.0'

2.去console.cloud.google.com注册和填写,主要是获取key。
过程很曲折。
创建应用后记得设置包名和SHA1
入口在“api和服务”--》凭据--》应用限制那里填写包名和SHA1。
最后在APi库那里打开android sdk的使用开关

3.AndroidManifest.xml 设置key

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

4.地图使用
主要贴几个核心代码
fragment的oncreateView 或者activity的oncreate里面调用
gMapView.onCreate(savedInstanceState);

private fun initMap() {
        mapView.onResume() // needed to get the map to display immediately
        try {
            MapsInitializer.initialize(context)
        } catch (e: Exception) {
            e.printStackTrace()
        }
        mapView.getMapAsync(this)
    }

接着运行,如果配置没有错,这个时候地图肯定已经出来。(记得梯子)
5。定位

mFusedLocationClient=LocationServices.getFusedLocationProviderClient(context)
//设置位置变化监听
 LocationRequest request = new LocationRequest();
        request.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
//        request.setInterval(1500);
        request.setFastestInterval(interval_time);
        if (locationCallback == null) {
            initLocationCallback(listener);
        }
        mFusedLocationClient.requestLocationUpdates(request, locationCallback, Looper.myLooper());

//获取最后一次定位到的位置。
 FusedLocationProviderClient mFusedLocationClient;
        mFusedLocationClient = LocationServices.getFusedLocationProviderClient(context);
        mFusedLocationClient.getLastLocation().addOnSuccessListener(new OnSuccessListener<Location>() {
            @Override
            public void onSuccess(Location location) {
                
            }
        });
上一篇下一篇

猜你喜欢

热点阅读