【问题标题】:How can i get my geolocation with longitude and latitude? [closed]如何获得经度和纬度的地理位置? [关闭]
【发布时间】:2023-03-22 06:40:01
【问题描述】:

所以我想创建一个方法来获取我的地理位置(经度和纬度),我不需要在地图中显示结果我只想要2个参数(经度和纬度),所以如果有人有任何想法,我将不胜感激。 注意:我住在摩洛哥

【问题讨论】:

    标签: java android


    【解决方案1】:

    首先确保您在清单中定义了以下权限:

    <uses-permission android:name=“android.permission.ACCESS_FINE_LOCATION”/>
    

    然后定义一个LocationManager 并为其分配一个监听器:

    LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    
    LocationListener mlocListener = new MyLocationListener();
    
    mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
    

    然后监听器应该能够接收坐标。

    你可以像这样定义一个监听器:

    public class MyLocationListener implements LocationListener 
    {
    
         @Override
    
         public void onLocationChanged(Location loc)
         {
            float latitude = loc.getLatitude(); //Retrieve the latitude
            float longitude = loc.getLongitude(); //Retrieve the longitude
            Toast.makeText( getApplicationContext(),"Current location: "+latitude+","+longitude,Toast.LENGTH_SHORT).show();
        }
    }
    

    【讨论】:

    • Thnx Leon,但我的问题是如何在不知道位置的情况下获得纬度和经度,换句话说,如何像 GPS 那样获得我的位置。
    • 我真的不明白你在这里想问什么,因为上面的代码从 GPS 检索坐标。
    • 感谢回复我,我真的很感激,但在方法 onLocationChanged(Location loc) 参数 loc 我应该给它正确的,但我是什么在不定义位置的情况下寻找它来获取经纬度,
    • 它是一个监听类,你不要自己调用方法。当 GPS 报告新位置时,LocationManager 会调用 onLocationChanged(Location loc) 方法。我在示例中添加了一个 Toast,以便您查看。
    • 好的,非常感谢Leon
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多