在Google地图中显示我的当前位置

在Google地图中显示我的当前位置,第1张

在Google地图中显示我的当前位置

将此代码用于当前位置:

googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);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    //    ActivityCompat#requestPermissions    // here to request the missing permissions, and then overriding    //   public void onRequestPermissionsResult(int requestCode, String[] permissions,    //         int[] grantResults)    // to handle the case where the user grants the permission. See the documentation    // for ActivityCompat#requestPermissions for more details.    return;}googleMap.setMyLocationEnabled(true);googleMap.getUiSettings().setZoomControlsEnabled(false);googleMap.getUiSettings().setMyLocationButtonEnabled(true);googleMap.getUiSettings().setCompassEnabled(true);googleMap.getUiSettings().setRotateGesturesEnabled(true);googleMap.getUiSettings().setZoomGesturesEnabled(true);if (locationManager == null) {    locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);}if (locationManager.getAllProviders().contains(LocationManager.GPS_PROVIDER)) {    isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);    isNetworkProviderEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);    if (isGPSEnabled) {        location = getLastLocationByProvider(locationManager, LocationManager.GPS_PROVIDER, getApplicationContext());    } else if (isNetworkProviderEnabled) {        location = getLastLocationByProvider(locationManager, LocationManager.NETWORK_PROVIDER, getApplicationContext());    }    if (location != null) {        latitude = location.getLatitude();        longitude = location.getLongitude();    } else {        if (isNetworkProviderEnabled) { locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 100000, 1, this); provider_info = LocationManager.NETWORK_PROVIDER;        } else if (isGPSEnabled) { locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 100000, 1, this); provider_info = LocationManager.GPS_PROVIDER;        } else { alertDialog = Util.showOkDialog(new View.onClickListener() {     @Override     public void onClick(View view) {         if (Env.currentActivity != null) {  if (Env.currentActivity instanceof LocationActivity) {      try {          gotoSettings();      } catch (Exception e) {          e.printStackTrace();      }  }         }         if (alertDialog != null) {  alertDialog.dismiss();  alertDialog = null;         }     } }, this.getResources().getString(R.string.location_service_validation));        }        location = locationManager.getLastKnownLocation(provider_info);        if (location != null) { latitude = location.getLatitude(); longitude = location.getLongitude();        }    }    MarkerOptions marker = new MarkerOptions().position( new LatLng(latitude, longitude)) .title(getFullAddressLine(this));    marker.icon(BitmapDescriptorFactory .defaultMarker(BitmapDescriptorFactory.HUE_GREEN));    googleMap.addMarker(marker);    CameraPosition cameraPosition = new CameraPosition.Builder() .target(new LatLng(latitude,         longitude)).zoom(15).build();    googleMap.animateCamera(CameraUpdateFactory .newCameraPosition(cameraPosition));}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5565729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存