如何获得蓝点的Google地图Android版V2的坐标(How to get the coordi

2019-10-18 05:40发布

在地图上我想从我的位置的路径方向显示出一定的位置。 我已经实现了逻辑在地图上绘制的路径了,但我有我的确定的当前位置的问题。

我已经是使用新LocationClient检索,就像它在这篇文章中描述了我当前的位置: http://developer.android.com/training/location/retrieve-current.html ,和我读的地方,新的地图API v2是使用让我的位置相同的技术。

无论如何,当我吸取我的位置在地图到所需的一个上的路径方向,路径的起点是从蓝点这标志着我的当前位置不同。

蓝点显示了正确的位置,我的实现没有。 那么,有没有办法让蓝色圆点标记的坐标,像map.getMyLocationMarker().getLocation()或者我需要找出一些其他的方式来手动获取我的位置?

UPDATE

我忘了,我已经离开这个问题打开了,但这里是我的回答如下。

Answer 1:

Location findme = mMap.getMyLocation();
        double latitude = findme.getLatitude();
        double longitude = findme.getLongitude();
        LatLng latLng = new LatLng(latitude, longitude);

这会给你纬度和您所在位置的经度。



Answer 2:

由于googlemyMap.getMyLocation()方法已过时...

最简单的解决方案,到目前为止,我发现

获取当前位置和中心相机上的标记。 Android Studio中的编辑看到有一个错误,但是当你运行它有一个与代码没有问题。

LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
Location location = locationManager.getLastKnownLocation(locationManager.getBestProvider(criteria,false));
if (location != null)
{    mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(location.getLatitude(), location.getLongitude()), 13));

LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        Criteria criteria = new Criteria();
        Location location = locationManager.getLastKnownLocation(locationManager.getBestProvider(criteria,false));

        if (location != null)
        {
            mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(location.getLatitude(), location.getLongitude()), 13));

            CameraPosition cameraPosition = new CameraPosition.Builder()
                    .target(new LatLng(location.getLatitude(), location.getLongitude()))      // Sets the center of the map to location user
                    .zoom(17)                   // Sets the zoom
                    .build();                   // Creates a CameraPosition from the builder
            mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
        }
        LatLng goztepe = new LatLng(location.getLatitude(), location.getLongitude());
        mMap.addMarker(new MarkerOptions().position(goztepe).title("Göz Göz GÖZTEPE"));

解释在这里 。



Answer 3:

原来答案是使用setMyLocationChangeListener()GoogleMap ,通知的“蓝点”的变化。 也就是说现在已经过时。

如果你能创建重现你的问题的样本项目,你不妨文件中的问题 ,重视该项目。 你在做什么是过时方法正式替代,因此人们希望您的代码将正常工作。 如果你提交一个问题,如果你想起来,张贴链接到它在这里,因为我想保持它的眼睛。



Answer 4:

它实际上是一个非常愚蠢的错误我做到了。

但在这里就是答案。 在问题的链接描述的过程是做正确的事。

我的问题是,我所取得的数据保存到一个新的共享偏好的关键,而我是从旧哪里错了位置保存阅读它。 是啊这是非常愚蠢的:)

因此,遵循Android开发者门户网站的教程,并不会有错吧。



文章来源: How to get the coordinates of the blue dot in android maps v2