定位的第一个中实现 ,用 criter类实现 的职位选择
2011-07-14 09:28
183 查看
package com.studio.android.chp08.ex01;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class CurrentLocation extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); //选择布局,用 main 里面的布局方式
Button btv=(Button)findViewById(R.id.GoSecond);
LocationManager locationManager;
String serviceName = Context.LOCATION_SERVICE;
locationManager = (LocationManager)getSystemService(serviceName);
//String provider = LocationManager.GPS_PROVIDER;
// 用来找到最好的位置提供者
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
/*
* 返回最能满足给定条件的供应商的名称。只有允许访问调用活动的供应商将被退回。如果有多个供应商符合标准,最佳精度返回。
* 如果没有提供符合标准的,标准是放松按照以下顺序:
*/
String provider = locationManager.getBestProvider(criteria, true);
// System.out.println("the provider is "+provider);
Location location = locationManager.getLastKnownLocation(provider);
updateWithNewLocation(location);
// 这一步实现 监听绑定 provider 是 定位方式,2000是实现多少时间改变一次, 10代表举例改变10m,locationListener 表示绑定的监听器
locationManager.requestLocationUpdates(provider, 2000, 10,
locationListener);
btv.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(CurrentLocation.this, LocationName.class);
startActivity(intent);
// finish();//停止当前的Activity,如果不写,则按返回键会跳转回原来的Activity
}
});
}
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;
myLocationText = (TextView)findViewById(R.id.myLocationText);
if (location != null) {
double lat = location.getLatitude();
double lng = location.getLongitude();
latLongString = "纬度:" + lat + "\n经度:" + lng;
} else {
latLongString = "无法获取地理信息";
}
myLocationText.setText("您当前的位置是:\n" +
latLongString);
}
}
/**
*/
package com.studio.android.chp08.ex01;
import java.io.IOException;
import java.util.List;
import java.util.Locale;
import android.app.Activity;
import android.content.Intent;
import android.location.Address;
import android.location.Geocoder;
import android.os.Bundle;
import android.widget.TextView;
/**
*
* 得到具体的 地名
* @author Administrator
*
*/
public class LocationName extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.addressname);
List<Address> addList = null;
Geocoder ge = new Geocoder(this,Locale.CHINA);
String latLongString=null;
TextView myLocationText=(TextView) findViewById(R.id.CityName);
Intent GetIntent=this.getIntent();
if(GetIntent==null){
System.out.println(" it is null");
}else if (GetIntent!=null)
System.out.println("it is not null");
try {
addList = ge.getFromLocation(26.0972567, 119.3090049, 1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(addList!=null && addList.size()>0){
latLongString=new String();
for(int i=0; i<addList.size(); i++){
Address ad = addList.get(i);
latLongString += "\n";
latLongString +=ad.getAddressLine(0)+ad.getAddressLine(1)+ad.getAddressLine(2);
// latLongString +=ad.toString();
}
// System.out.println(" the size of is "+addList.size());
}
myLocationText.setText("您当前的位置是:\n" +latLongString);
}
}
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class CurrentLocation extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); //选择布局,用 main 里面的布局方式
Button btv=(Button)findViewById(R.id.GoSecond);
LocationManager locationManager;
String serviceName = Context.LOCATION_SERVICE;
locationManager = (LocationManager)getSystemService(serviceName);
//String provider = LocationManager.GPS_PROVIDER;
// 用来找到最好的位置提供者
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
/*
* 返回最能满足给定条件的供应商的名称。只有允许访问调用活动的供应商将被退回。如果有多个供应商符合标准,最佳精度返回。
* 如果没有提供符合标准的,标准是放松按照以下顺序:
*/
String provider = locationManager.getBestProvider(criteria, true);
// System.out.println("the provider is "+provider);
Location location = locationManager.getLastKnownLocation(provider);
updateWithNewLocation(location);
// 这一步实现 监听绑定 provider 是 定位方式,2000是实现多少时间改变一次, 10代表举例改变10m,locationListener 表示绑定的监听器
locationManager.requestLocationUpdates(provider, 2000, 10,
locationListener);
btv.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(CurrentLocation.this, LocationName.class);
startActivity(intent);
// finish();//停止当前的Activity,如果不写,则按返回键会跳转回原来的Activity
}
});
}
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;
myLocationText = (TextView)findViewById(R.id.myLocationText);
if (location != null) {
double lat = location.getLatitude();
double lng = location.getLongitude();
latLongString = "纬度:" + lat + "\n经度:" + lng;
} else {
latLongString = "无法获取地理信息";
}
myLocationText.setText("您当前的位置是:\n" +
latLongString);
}
}
/**
*/
package com.studio.android.chp08.ex01;
import java.io.IOException;
import java.util.List;
import java.util.Locale;
import android.app.Activity;
import android.content.Intent;
import android.location.Address;
import android.location.Geocoder;
import android.os.Bundle;
import android.widget.TextView;
/**
*
* 得到具体的 地名
* @author Administrator
*
*/
public class LocationName extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.addressname);
List<Address> addList = null;
Geocoder ge = new Geocoder(this,Locale.CHINA);
String latLongString=null;
TextView myLocationText=(TextView) findViewById(R.id.CityName);
Intent GetIntent=this.getIntent();
if(GetIntent==null){
System.out.println(" it is null");
}else if (GetIntent!=null)
System.out.println("it is not null");
try {
addList = ge.getFromLocation(26.0972567, 119.3090049, 1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(addList!=null && addList.size()>0){
latLongString=new String();
for(int i=0; i<addList.size(); i++){
Address ad = addList.get(i);
latLongString += "\n";
latLongString +=ad.getAddressLine(0)+ad.getAddressLine(1)+ad.getAddressLine(2);
// latLongString +=ad.toString();
}
// System.out.println(" the size of is "+addList.size());
}
myLocationText.setText("您当前的位置是:\n" +latLongString);
}
}
相关文章推荐
- js实现人才网站职位选择功能的方法
- php--------网页开发实现微信JS的(定位,地图显示,照片选择功能)
- 使用百度地图api实现定位及选择位置功能
- php--------网页开发实现微信JS的(定位,地图显示,照片选择功能)
- 完美实现仿美团城市选择 定位功能
- Android实现一个选择器-recycleview滚动中第一个item位置的获取
- IOS实现自动定位和手动选择城市功能
- php--------网页开发实现微信JS的(定位,地图显示,照片选择功能)
- 请教:JSP里如何实现下拉组合框,既能从列表中选择也能自由输入,同时输入时自动定位到与已输字符最相符的列表项?
- TreeView 滚动条 子节点定位 页面回发刷新后,滚动条自动定位到被选择节点出,javascript库jQuery实现 兼容服务器端控件
- 使用百度地图api实现定位及选择位置功能
- JQ实现checkbox的选择并打印到p中
- 百度定位的实现
- 国内省市关联选择功能的实现-优化
- 决策树归纳(ID3属性选择度量)Java实现
- IFS's ERP刷新后自动选择某行的功能实现
- js实现上传文件添加和删除文件选择框
- 实现第一个JDBC程序
- CSS之通过定位简单实现div绝对居中