使用GPS中的值编辑TextView

时间:2012-01-23 03:48:39

标签: android android-layout

我有一个相机类,它使用SurfaceHolder等来保存相机的图片。我输入上面的SurfaceView TextView。而我想问的是如何使用从GPS获得的纬度和经度值更新TextView中的文本? 我把编码放到当前位置并更新位置

3 个答案:

答案 0 :(得分:1)

使用LocationManager中的requireLocationUpdates。 通常这个过程转到后台。

答案 1 :(得分:1)

对您的代码进行以下更改并尝试。

        textView = (TextView)findViewById(R.id.textViewId);

        LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
        mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, new LocationListener() {
            @Override
            public void onLocationChanged(Location loc) {
                String location = "Last known location\nLatitude = "+loc.getLatitude()+"\nLongitude = "+loc.getLongitude();
                textView.setText(location);
            }
            @Override
            public void onProviderDisabled(String provider) {
                Toast.makeText( getApplicationContext(), "GPS Disabled", Toast.LENGTH_SHORT ).show();
            }
            @Override
            public void onProviderEnabled(String provider) {
                Toast.makeText( getApplicationContext(), "GPS Enabled", Toast.LENGTH_SHORT ).show();                
            }
            @Override
            public void onStatusChanged(String provider, int status, Bundle extras) {
                Toast.makeText( getApplicationContext(), "GPS Status Changed", Toast.LENGTH_SHORT ).show();             
            }           
        });

在清单文件中,您必须使用以下权限

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION">

我希望你明白并帮助你。

答案 2 :(得分:0)

我发现问题正在解决..呵呵

private void updateWithNewLocation(Location location){
      String latLongString;
      TextView longlati;
      longlati = (TextView)findViewById(R.id.longlati);
      if(location != null){
          double lat = location.getLatitude();
          double lng = location.getLongitude();
          latLongString = "Lat: " + lat + "\nLong: " + lng;
      }else{
          latLongString = "No Location found";
      }
      longlati.setText(" " + latLongString);

  }
抱歉我的愚蠢问题。我只是有点压力&gt; _&lt;