【问题标题】:I need a blue dot location, no location.getLatitude/Longtitude我需要一个蓝点位置,没有位置。获取纬度/经度
【发布时间】:2019-01-09 13:14:18
【问题描述】:

我有问题。我的应用程序使用坐标在后续位置之间绘制路径:第一个位置到第二个位置,第二个到第三个位置等。该应用程序绘制路径没有问题,但我的位置有噪音,而且线条无处不在。我知道谷歌地图上的蓝点正在使用平滑算法、不同的位置提供程序和其他调整。我可以获取这个默认蓝点的坐标吗?没有算法就不是正常坐标。

public void onMapReady(GoogleMap map) {

mMap = map;


if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
        == PackageManager.PERMISSION_GRANTED) {
    mMap.setMyLocationEnabled(true);

    lokalizacja();

} else {

    ActivityCompat.requestPermissions(WorkoutActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, MY_LOCATION_REQUEST_CODE);
}


routeOpts = new PolylineOptions()
        .color(Color.BLUE)
        .width(5 /* TODO: respect density! */)
        .geodesic(true);
route = mMap.addPolyline(routeOpts);
route.setVisible(drawTrack);

mMap.setOnMyLocationButtonClickListener(this);
mMap.setOnMyLocationClickListener(this); }

public void lokalizacja() { //Context context = getApplicationContext();

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

locationListener = new LocationListener() {


    @Override
    public void onLocationChanged(Location location) {




        if (routeOpts != null) {                                               
                lat = (float) location.getLatitude();
                lng = (float) location.getLongitude();

            LatLng myLatLng = new LatLng(lat, lng);
            List<LatLng> points = route.getPoints();
            points.add(myLatLng);
            route.setPoints(points);
        }


    }
@Override public void onStatusChanged(String provider, int status, Bundle extras) {

        Log.d("tocos","StatusChanged");
    }

    @Override
    public void onProviderEnabled(String provider) {
        Log.d("tocos","Enabled");
    }

    @Override
    public void onProviderDisabled(String provider) {
        Log.d("tocos","Disabled");
    }
};

【问题讨论】:

  • 嗨 Szymon,this answer,又指向文档,对如何减少用户本地化信息中的噪音有很好的建议

标签: android google-maps


【解决方案1】:

我认为您想要的是使用来自 Google Play 服务的FusedLocationProvider,而不是操作系统附带的内置LocationManager。看看这个answer,它解释得很详细

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 2021-09-29
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多