有没有办法在您自己的应用程序上复制 Google 地图的准确性?

Posted

技术标签:

【中文标题】有没有办法在您自己的应用程序上复制 Google 地图的准确性?【英文标题】:Is there a way to replicate the accuracy of Google maps on your own app? 【发布时间】:2020-10-17 15:54:00 【问题描述】:

我正在开展一个项目,该项目需要将用户的坐标精确到几米以内。我注意到,当我走在街上时,我手机上的 Google 地图应用会高度准确地跟踪我的运动,几乎总是在一米之内。

在我自己的项目中,我做了以下工作:

在我的 androidManifest.xml 中有:

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

在我的 MainActivity.java 中,我有一个名为 recenter 的函数,如下所示:

private void recenter(Location location) 
    LatLng user = new LatLng(location.getLatitude(), location.getLongitude());
    userMarker.setPosition(user);
    mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(user, 20));

在我的onCreate 中,我使我们成为LocationManagerLocationListener 就像这样(locationListener 被触发调用recenter):

    locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
    locationListener = new LocationListener() 
        @Override
        public void onLocationChanged(Location location) 
            recenter(location);
        

        ...
    ;

在确保用户手动授予权限后,我运行以下命令:

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);

尽管如此,我的别针通常是几个,我会说大约 10 米。 是否可以在自制应用程序上获得谷歌地图级别的结果? 如果没有,谁能得到更准确的结果?

【问题讨论】:

【参考方案1】:

这是来自 android 文档:

Android 提供两种位置权限:ACCESS_COARSE_LOCATION 和 ACCESS_FINE_LOCATION。您选择的权限决定了 API 返回的位置的准确性。 您只需要请求 Android 位置权限之一,具体取决于 您需要的准确性:

ACCESS_FINE_LOCATION - 允许 API

从可用的位置确定尽可能精确的位置 位置提供商,包括全球定位系统 (GPS) 以及 WiFi 和移动蜂窝数据。

尝试删除清单中的每个位置,“精细课程位置”权限除外。

【讨论】:

谢谢!我实际上正在尝试这个。最重要的是,我打算改变我的策略,使用谷歌推荐的 FusedLocationProvider,因为我使用的库已经过时了。抱歉无法投票,我当时只有 13 个声望 :( 没问题!我刚刚对你的问题投了赞成票,如果你现在应该有足够的代表投票:)

以上是关于有没有办法在您自己的应用程序上复制 Google 地图的准确性?的主要内容,如果未能解决你的问题,请参考以下文章

osx未能安装在您的电脑上 没有符合安装资格的软件包?

GWT RPC“未找到 404”错误。如何让 RPC 在您自己的 Apache 服务器上工作?

链接到 google colab 项目,以便学生必须复制和修改

如何刷新 Google 图片搜索缓存?

有没有办法使用python查看文件所在的目录? [复制]

XCode 在 Windows 7 上安装了软件? [复制]