小编Reh*_*saf的帖子

我怎样才能获得当前位置?Android Studio

我知道之前已经问过,但所有可用的解决方案都要求我使用onLocationChanged()方法,所以我可以使用getLatitude()getLongitude()方法来获取坐标.

但是onLocationChanged()当我的设备位置发生变化时会被调用.因此,为了获得我当前的位置,我将不得不移动我的设备.

但我想获得当前的坐标,而无需移动我的设备.此外,我读到某个地方,我可以onLocationChanged()手动调用该方法,我可以得到最后的已知位置,但再次,

是不是最后一个已知位置不可能是我当前的位置?或者可以使用最后一个已知的位置解决方案?

这是我用来实现LocationListener的类的一部分.

public class MyLocListener extends MapsActivity implements LocationListener {

    public void onLocationChanged(Location location)
    {
        if(location!=null)
        {
            MapsActivity.setLatitude(location.getLatitude());
            MapsActivity.setLongitude(location.getLongitude());
        }
    }}
Run Code Online (Sandbox Code Playgroud)

这是我用来为我的地图活动提供坐标的函数的覆盖.纬度和经度是两个双重类型变量.在这个类中,纬度和经度变量以0开始,并且它们保持这种方式,因为onLocationChanged()仅在我的位置改变时才调用该函数.因此,我无法在地图上看到我当前的位置.

@Override
    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;


        LocationManager myLocManager;

        myLocManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
        MyLocListener loc = new MyLocListener();
        if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            // TODO: Consider calling
            //    ActivityCompat#requestPermissions
            // here to request the missing …
Run Code Online (Sandbox Code Playgroud)

java gps android

6
推荐指数
1
解决办法
6万
查看次数

如何始终将地图标记保持在屏幕中央?安卓

我试图找到一种方法将我的地图标记放在我的地图片段活动中。到目前为止,我已经尝试在每次移动地图时在屏幕中心添加一个标记,即更新相机位置。但是这个解决方案的问题是,每次在地图的中心添加一个新标记,而旧标记留在那里,所以只需拖动几次,我的屏幕上就会有 10 个标记。我在添加下一个标记之前尝试使用 clear 方法,但现在标记只是闪烁太多。这是我的代码:

mMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() {
            @Override
            public void onCameraChange(CameraPosition cameraPosition) {
                LatLng location=mMap.getCameraPosition().target;
                MarkerOptions marker=new MarkerOptions().position(location).title("");
                mMap.clear();
                mMap.addMarker(marker);
                mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(location, 16));
            }
        });
Run Code Online (Sandbox Code Playgroud)

我发现的另一个解决方案是使用居中的 ImageView,但问题是我想更改标记的图标。但是当我将图像图像添加到图像视图时,相机的中心位于该图像中心的绿色小圆圈中,而不是像我想要的那样尖的一端。请帮忙。

java xml android google-maps

5
推荐指数
1
解决办法
8151
查看次数

标签 统计

android ×2

java ×2

google-maps ×1

gps ×1

xml ×1