1

我一直在尝试使用 Google Maps V2 进行一些教程和基本练习,但我的“setOnMyLocationChangeListener”方法发生了一些事情。

我正在运行以下代码:

this.mMap.setOnMyLocationChangeListener(new OnMyLocationChangeListener() {

    @Override
    public void onMyLocationChange(Location location) {
        int lat = (int) (location.getLatitude() * 1E6);
        int lon = (int) (location.getLongitude() * 1E6);

        Toast.makeText(
                GoogleMapsV2_Interact.this,
                "Coordss\n" + "Lat: " + lat + "\n" + "Lon: " + lon + "\n" , 
                Toast.LENGTH_SHORT).show();
        Log.d(TAG, "Event OnMyLocationChangeListener.");
    }
});

如果我理解正确,则整个事件应该仅在“地图上显示的我的位置蓝点”的位置发生更改时触发……但是每次我在我的设备上运行代码时,我都会不断收到我的代码吐司的垃圾邮件就像事件被不间断地触发一样。

有什么我想念的,或者我不理解的东西吗?我以为我应该只看到我的祝酒词,而且只有在蓝点的位置更改之后。

4

1 回答 1

1

该文件指出

Called when the Location of the My Location dot has changed (be it latitude/longitude, bearing or accuracy).

也许您的方位或准确性一直在变化 - 将它们与坐标一起打印到 LogCat 中,看看与以前的日志语句有什么不同。

于 2013-05-16T14:19:31.160 回答