得到经纬度

本文介绍如何在Android应用中使用定位服务获取设备位置信息。通过LocationManager获取最近已知的位置,并设置LocationListener监听位置变化。文章详细展示了如何使用Network Provider获取经纬度及高度等数据。
tv = (TextView) findViewById(R.id.mainTextView);
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
String provider = LocationManager.NETWORK_PROVIDER;//GPS_PROVIDER,
PASSIVE_PROVIDER
Location location = locationManager.getLastKnownLocation(provider);
showLocation(location);
locationManager.requestLocationUpdates(provider, 5000, 1,locationListener);
----------------------------------------------
LocationListener locationListener=new LocationListener() {
    @Override
    public void onLocationChanged(Location location) {
        showLocation(location);
    }

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

    }

    @Override
    public void onProviderEnabled(String provider) {

    }

    @Override
    public void onProviderDisabled(String provider) {

    }
};//自动更新
---------------------------------------------
location.getAltitude()//经度
location.getLongitude()//纬度



获取图片经纬度的方法会因使用的工具和环境不同而有所差异,以下为几种常见的实现方式: ### 使用Python获取 借助`exifread`库能够读取图片的EXIF信息,进而获取经纬度。示例代码如下: ```python import exifread def get_gps_exifread(image_path): with open(image_path, 'rb') as f: tags = exifread.process_file(f) for tag in tags.keys(): if tag.startswith('GPS'): print(f"{tag}: {tags[tag]}") # 使用示例 image_path = r"E:\data\mouse_hole\草滩区域二航高30\h\18h00002.JPG" get_gps_exifread(image_path) ``` 上述代码定义了一个`get_gps_exifread`函数,该函数接收图片路径作为参数,打开图片文件并处理其EXIF信息,最后打印出所有以`GPS`开头的标签及其对应的值 [^2]。 ### 在Android中获取 在Android 10及以上系统中,可以使用`ContentResolver`查询图片的地理位置信息。示例代码如下: ```java import android.content.ContentResolver; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private static final String[] SELECTIMAGES = {MediaStore.Images.Media._ID, MediaStore.Images.Media.LATITUDE, MediaStore.Images.Media.LONGITUDE}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ContentResolver contentResolver = getContentResolver(); Cursor cursor = contentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, SELECTIMAGES, null, null, null); if (cursor != null) { while (cursor.moveToNext()) { double latitude = cursor.getDouble(cursor.getColumnIndex(MediaStore.Images.Media.LATITUDE)); double longitude = cursor.getDouble(cursor.getColumnIndex(MediaStore.Images.Media.LONGITUDE)); // 处理经纬度信息 } cursor.close(); } } } ``` 上述代码在`onCreate`方法中,使用`ContentResolver`查询外部存储中的图片,获取图片的经纬度信息 [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值