zoukankan      html  css  js  c++  java
  • 通过android自动定位功能获取地理位置

    package csd.sed;
    
    import java.io.IOException;
    import java.util.List;
    
    import android.app.Activity;
    import android.content.Context;
    import android.location.Address;
    import android.location.Criteria;
    import android.location.Geocoder;
    import android.location.Location;
    import android.location.LocationListener;
    import android.location.LocationManager;
    import android.os.Bundle;
    import android.widget.TextView;
    
    public class TestsewActivity extends Activity {
       private final String provider = LocationManager.NETWORK_PROVIDER;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            LocationManager  locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    
          
            Criteria criteria = new Criteria();
            criteria.setAccuracy(Criteria.ACCURACY_FINE);
            criteria.setAltitudeRequired(false);
            criteria.setBearingRequired(false);
            criteria.setCostAllowed(true);
            criteria.setPowerRequirement(Criteria.POWER_LOW);
            
            Location location = locationManager.getLastKnownLocation(provider);
            updateWithNewLocation(location);
            locationManager.requestLocationUpdates(provider, 2000, 10,locationListener);
        }
        
       private final LocationListener locationListener = new LocationListener() {
        	public void onLocationChanged(Location location) {
        	updateWithNewLocation(location);
        	}
        	public void onProviderDisabled(String provider){
        	updateWithNewLocation(null);
        	}
        	public void onProviderEnabled(String provider){ }
        	public void onStatusChanged(String provider, int status,
        	Bundle extras){ }
        };
        
        private void updateWithNewLocation(Location location) {
        	String latLongString;
        	TextView myLocationText;
        	double lat = 0;
        	double lng=0;
        	myLocationText = (TextView)findViewById(R.id.test2);
        	if (location != null) {
        	 lat = location.getLatitude();
        	 lng = location.getLongitude();
        	latLongString = "纬度:" + lat + "
    经度:" + lng;
        	} else {
        	latLongString = "无法获取地理信息";
        	}
        	List<Address> addList = null;
        	Geocoder ge = new Geocoder(this);
        	try {
    			addList = ge.getFromLocation(lat, lng, 1);
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
        	if(addList!=null && addList.size()>0){
        		for(int i=0; i<addList.size(); i++){
        			Address ad = addList.get(i);
        			latLongString += "
    ";
        			latLongString += ad.getCountryName() + ";" + ad.getLocality();
        		}
        	}
        	myLocationText.setText("您当前的位置是:
    " +latLongString);
        }
    }
    

      权限:

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

    下载源码:

    链接: http://pan.baidu.com/s/1dDl9p77  源码文件名:getLocation.rar

  • 相关阅读:
    error C4430: missing type specifier int assumed. Note: C++ does not support defaultint 解决方法
    A performance evaluation of local descriptors——局部描述子评估译文(1,2,...)
    global mapper裁剪DEM文件的方法
    直方图学习笔记
    vc++如何将客户区存为bmp【zz】
    处理tiff格式dem数据的方法——输出xyz坐标
    处理tiff格式dem数据的方法——输出txt形式高程信息
    我的社区成立了
    Closed socket connection for client /39.103.162.230:56100 (no session established for client)
    Will not attempt to authenticate using SASL (unknown error) (org.apache.zookeeper.ClientCnxn)
  • 原文地址:https://www.cnblogs.com/clarence/p/3552794.html
Copyright © 2011-2022 走看看