当前位置: 首页 > 知识库问答 >
问题:

谷歌地图片段跟随蓝点

平山
2023-03-14

我在我的应用程序中实现了一个谷歌地图片段,用户可以通过点击右上角的“指南针”按钮看到他们当前的位置。

//Maps

@Override
public void onMapReady(GoogleMap googleMap) {

    mMap = googleMap;

    //Prompt user for permission
    getLocationPermission();

    //Setup map UI with blue dot etc
    updateLocationUI();

    // Get the current location of the device and set the position of the map.
    getDeviceLocation();
}

private void getLocationPermission() {
    if (ContextCompat.checkSelfPermission(this.getApplicationContext(),
            android.Manifest.permission.ACCESS_FINE_LOCATION)
            == PackageManager.PERMISSION_GRANTED) {
        mLocationPermissionGranted = true;
    }
    else {
        ActivityCompat.requestPermissions(this,
                new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION},
                PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION);
    }
}

private void updateLocationUI() {
    if (mMap == null) {
        return;
    }
    try {
        if (mLocationPermissionGranted) {
            mMap.setMyLocationEnabled(true);
            mMap.getUiSettings().setMyLocationButtonEnabled(true);
        } else {
            mMap.setMyLocationEnabled(false);
            mMap.getUiSettings().setMyLocationButtonEnabled(false);

            mLastKnownLocation = null;
            getLocationPermission();
        }
    } catch (SecurityException e)  {
        Log.e("Exception: %s", e.getMessage());
    }
}

共有1个答案

益明朗
2023-03-14

您需要收听位置更新,如果用户移动了相当大的距离,请移动相机(取决于您的变焦级别)

  • 更大的变焦级别意味着,你需要移动相机进行小的移动,比如10米
  • 变焦级别越小意味着你需要移动相机的次数越少,比如只有100米的移动
  • 在实现侦听位置时要记住电池消耗,并在实现
  • 之前寻找最佳实践
 类似资料:
  • 我是xamarin的新手,我需要在应用程序中放置谷歌地图。 我已经从xamarin下载了示例: https://github.com/xamarin/monodroid-samples/tree/master/MapsAndLocationDemo_v2 经过一些改变,它工作了,这个项目显示地图。 以下是工作的项目的代码: /MainActivity.cs/ /BasicDemo.axml/ /A

  • 我试图在另一个片段中显示一个谷歌地图片段,但是我不能操纵地图,我已经把我看到的所有步骤都留档了,但是我不能操纵我的地图。 XML代码: 类片段代码: 主要活动类别代码: } 在调用getMapAsync()后,编辑以下堆栈跟踪: 空指针错误: 12-18 19:51:50.056 11265-11265/ar.com.taxiexpress.taxiexpressE/AndroidRuntime:

  • 情况是我使用Fragments在main活动中显示2个视图,这意味着我有两个选项卡,而在第二个选项卡中,我使用以下代码显示谷歌地图 这是第二个选项卡,我想自定义地图,为此我在上面的函数中使用了这段代码。 imap=SupportMapFragment)getSupportFragmentManager()。findFragmentById(R.id.map))。getMap(); imap是在创建

  • 我对Android开发真的是一个新手,有几天我会尝试在我的应用程序中添加一个地图。我尝试了一些事情,但没有成功。如果有人能帮我,我很感激。 我做过的事: 将google-play-services_lib添加到我的包资源管理器中。 包含了android-support-v4.jar和google-play-services.jar作为我的项目的依赖项。 下面是main.xml文件 这里是清单文件

  • 我有一个片段,它是Viewpager的一部分,我想在片段中使用Google Map V2。这就是我到目前为止所尝试的, 在我的片段中, 在我的布局子片段信息中。xml,我有, 我现在能看到地图了。但是标记没有显示出来。我认为我的谷歌地图mMapView是空的。请帮我解决这个问题。提前感谢。

  • 我在NestedScrollView和表格布局中插入了以下片段: 我想在那里看到谷歌地图视图。在Java代码中,我放置了以下属性: 地图和标记似乎工作正常,通过双击放大工作正常,通过两个手指双击缩小工作正常,而在地图内部挤压缩放和拖动工作不正常,它们非常不稳定。向右或向左拖动时,贴图会稍微移动并停止,捏缩缩放也是如此。有什么建议吗?