1.5以上的GPS没具体做过 ,不知有什么差别。/* 创建LocationManager对象取得系统LOCATION服务 */
mLtManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
/* 第一次运行向Location Provider取得Location */
mLocation = getLocation(mLtManager);public Location getLocation(LocationManager lm) {
Location lt = null;
try {
Criteria mCriteria = new Criteria();
mCriteria.setAccuracy(Criteria.ACCURACY_FINE);
mCriteria.setAltitudeRequired(false);
mCriteria.setBearingRequired(false);
mCriteria.setCostAllowed(true);
mCriteria.setPowerRequirement(Criteria.POWER_LOW);
strLtProvier = lm.getBestProvider(mCriteria, true);
lt = lm.getLastKnownLocation(strLtProvier);
} catch(Exception e) { }
return lt;
}
这样就能获取位置信息
mLtManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
/* 第一次运行向Location Provider取得Location */
mLocation = getLocation(mLtManager);public Location getLocation(LocationManager lm) {
Location lt = null;
try {
Criteria mCriteria = new Criteria();
mCriteria.setAccuracy(Criteria.ACCURACY_FINE);
mCriteria.setAltitudeRequired(false);
mCriteria.setBearingRequired(false);
mCriteria.setCostAllowed(true);
mCriteria.setPowerRequirement(Criteria.POWER_LOW);
strLtProvier = lm.getBestProvider(mCriteria, true);
lt = lm.getLastKnownLocation(strLtProvier);
} catch(Exception e) { }
return lt;
}
这样就能获取位置信息
书上的大体相同
/* 创建LocationManager对象取得系统LOCATION服务 */
mLocationManager01 =
(LocationManager)getSystemService(Context.LOCATION_SERVICE);
/* 第一次运行向Location Provider取得Location */
mLocation01 = getLocationProvider(mLocationManager01);
。
public Location getLocationProvider(LocationManager lm)
{
Location retLocation = null;
try
{
Criteria mCriteria01 = new Criteria();
mCriteria01.setAccuracy(Criteria.ACCURACY_FINE);
mCriteria01.setAltitudeRequired(false);
mCriteria01.setBearingRequired(false);
mCriteria01.setCostAllowed(true);
mCriteria01.setPowerRequirement(Criteria.POWER_LOW);
strLocationProvider = lm.getBestProvider(mCriteria01, true);
retLocation = lm.getLastKnownLocation(strLocationProvider);
}
catch(Exception e)
{
mTextView01.setText(e.toString());
e.printStackTrace();
}
return retLocation;
}
不好用
你是在模拟器上模拟的吗??
在模拟器上可以手动输入经纬度来进行调试。
如果在真机上必须要打开GPS服务,等状态栏上的小卫星不闪的时候就表示能定位了。。
foursquared android客户端是开源的
切换到你的DDMS视图,在Emulator Control里面的Location Controls里面可以设置,设置好之后你点击send按钮就好了。
------------------------------
?是2.1的问题
哪里下这个android版客户端,没看到。:(
图片上当前位置的标记,是如何实现的?
如何把当前位置传到网上?
刚学,疑问很多!
谢谢!
这个source里就可以下啊,要不你给我个邮箱我发给你吧。
http://code.google.com/p/foursquared/source/checkout使用hg clone https://foursquared.googlecode.com/hg/ foursquared 获取代码
使用hg获取源码的办法http://blog.chinaunix.net/u/7667/showart_58173.html,我是在linux下的。
public static void main(String args[]){
String addrs = getaddr("31.71099194", "120.4019789");
System.out.println(addrs);
}
public static String getaddr(String latitude,String longitude){
System.out.println("This is get geo......");
String addrs="";
String url = String.format("http://ditu.google.cn/maps/geo?output=csv&key=abcdef&q=%s,%s",
latitude, longitude);
URL myURL =null;
URLConnection httpscon = null;
try{
myURL = new URL (url);
}catch(MalformedURLException e){
e.printStackTrace();
return null;
}
try{
httpscon = (URLConnection)myURL.openConnection();
if(httpscon!=null){
InputStreamReader ins = new InputStreamReader(httpscon.getInputStream(), "UTF-8");
BufferedReader br = new BufferedReader(ins);
String data = null;
if((data=br.readLine())!=null){
System.out.println(data);
String [] relist = data.split(",");
if(relist.length>2&&"200".equals(relist[0])){
addrs=relist[2];
addrs=addrs.replace("\"", "");
}
else{
addrs="";
}
}
}
}catch(IOException e){
e.printStackTrace();
return null;
}
return addrs;
}
}
很令人费解。
各位高手请不吝赐教啊。