android谷歌反地理,Android反向地理编码显示不出来!
我用google 的Geocoding API 接口来处理反向地理编码 ,但是运行时是空白界面,显示不出位置 下面是代码 ,请告诉我怎么办
public class MainActivity extends Activity {
public static final int SHOW_LOCATION=0;
private TextView positionTextView;
private LocationManager locationManager;
private String provider;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
positionTextView=(TextView) findViewById(R.id.position_text_view);
locationManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
//获取所有可用的位置提供器
List providerList=locationManager.getProviders(true);
if(providerList.contains(locationManager.GPS_PROVIDER)){
provider=locationManager.GPS_PROVIDER;
}else if(providerList.contains(LocationManager.NETWORK_PROVIDER)){
provider=LocationManager.NETWORK_PROVIDER;
}else{
//当没有可用的位置提供器时,弹出Toast提示用户
Toast.makeText(this, "No location Provider to use", Toast.LENGTH_SHORT).show();
return;
}
Location location=locationManager.getLastKnownLocation(provider);
if(location!=null){
//显示当前设备的位置信息
showLocation(location);
}
locationManager.requestLocationUpdates(provider, 5000, 1, locationListener);
}
protected void onDestroy(){
super.onDestroy();
if(locationManager!=null){
//关闭程序时将监听器移除
locationManager.removeUpdates(locationListener);
}
}
LocationListener locationListener=new LocationListener(){
@Override
public void onStatusChanged(String provider,int status,Bundle extras){
}
@Override
public void onProviderEnabled(String provider){}
@Override
public void onProviderDisabled(String provider){}
@Override
public void onLocationChanged(Location location){
//更新当前设备的位置信息
showLocation(location);
}
};
private void showLocation(final Location location){
//String currentPosition="latitude is"+location.getLatitude()+"\n"+
//"longitude is"+location.getLongitude();
// positionTextView.setText(currentPosition);
new Thread(new Runnable(){
@Override
public void run(){
try{
//组装反向地理编码的接口地址
StringBuilder url=new StringBuilder();
url.append("http://maps.googleapis.com/maps/api/geocode/json?latlng=");
url.append(location.getLatitude()).append(",");
url.append(location.getLongitude());
url.append("&sensor=false");
HttpClient httpclient=new DefaultHttpClient();
HttpGet httpget=new HttpGet(url.toString());
//在请求消息头中指定语言,保证服务器会返回中文数据
httpget.addHeader("Accept-Language","zh-CN");
HttpResponse httpResponse=httpclient.execute(httpget);
if(httpResponse.getStatusLine().getStatusCode()==200){
HttpEntity entity=httpResponse.getEntity();
String response=EntityUtils.toString(entity,"utf-8");
JSONObject jsonObject=new JSONObject(response);
//获取results节点下的位置信息
JSONArray resultArray=jsonObject.getJSONArray("results");
if(resultArray.length()>0){
JSONObject subObject=resultArray.getJSONObject(0);
//取出格式化后的位置信息
String address=subObject.getString("formatted_address");
Message message=new Message();
message.what=SHOW_LOCATION;
message.obj=address;
handler.sendMessage(message);
}
}
}catch(Exception e){
e.printStackTrace();
}
}
}).start();
}
private Handler handler=new Handler(){
public void handleMessage(Message msg){
switch(msg.what){
case SHOW_LOCATION:
String currentPosition=(String) msg.obj;
positionTextView.setText(currentPosition);
break;
default:
break;
}
}
};
}
android谷歌反地理,Android反向地理编码显示不出来!相关推荐
- android 谷歌定位demo,android实现定位与目的地的导航示例代码
今天无意中看到技术大神利用百度地图定位并实现目的地导航的Demo.觉得很不错,就转载过来一起分享,下面我们看实现效果: 进入后首先会得到当前位置,在地图上显示出来,在输入框中输入目的地后,就会在地图上 ...
- android谷歌反地理,android – 谷歌地理编码服务是不可用的(协调地址)
这个问题的常见答案是您必须重新启动设备. 当然你不能告诉你的用户重启设备以使你的应用程序运行,所以我的解决方案是使用HTTP回退,这是我在我的代码中使用的AsyncTask. 你必须根据你的情况修改它 ...
- android 12306反编译,Android开发(七)| “我的12306”实例
作为程序员,从一无所知开始接触.熟练使用android控件.布局.活动,自己开发的项目随之越来越茁壮,功能越来越完善,我们的内心是由衷感到高兴的. 为了对两个月的学习成果有一个检验,我把之前所学所讲做 ...
- 雅虎财经api_带有Yahoo API的Android反向地理编码– PlaceFinder
雅虎财经api 在我之前的教程( 基于Android的基于位置的服务应用程序– GPS位置 )中,我向您展示了如何以经度和纬度坐标的形式检索用户的当前位置. 使用这些坐标,我们将提供有关用户位置的信息 ...
- android 谷歌地图围栏,如何在谷歌地图与c做地理围栏#
我已经创建了基本的地理围栏,我在该地图中添加了2个标记和一个圆圈.我试图显示标记是否出现在圆圈标记上应该以不同的颜色显示,以便我们可以了解物体是否出于地理围栏.如何改变标记的颜色或在标记超出圆圈时显示 ...
- 使用Python进行地理编码和反向地理编码
Geocoding is the process of taking input text, such as an address or the name of a place, and return ...
- Google Geocoding API---地理编码与反向地理编码
什么是地理编码 地理编码是将地址(如"1600 Amphitheatre Parkway, Mountain View, CA")转换为地理坐标(如纬度 37.423021 和经度 ...
- Elasticsearch:使用反向地理编码在地图上显示自定义区域统计数据
在实际的许多应用中,我们可能并不一定按照行政区来进行划分区域,比如我们常说江浙一代,我们可以理解江苏和浙江这两个省合在一起,而不是把它们分开.我们有时也说长江三角区,它可能是跨几个省市的一个区域,而不 ...
- 谷歌推荐的Android图片加载库(Glide)介绍
本文出自:http://blog.csdn.net/u011733020 原 文:https://inthecheesefactory.com/blog/get-to-know-glide- ...
最新文章
- ios Standard Framework和Umbrella Framework
- 网络高可用性之流量镜像和端口流量控制
- 2014年新鲜出炉的16款免费英文字体
- lua源代码分析01:lua源代码结构分析
- Spring声明式事务管理
- js 控制浏览器窗口大小
- 代码Review发现问题
- 测试驱动开发 测试前移_测试驱动陷阱,第2部分
- Fun 3.0 发布——资源部署、依赖下载、代码编译等功能又又又增强啦!
- 怎么自己打印餐饮小票_自己怎么做餐饮外卖配送系统?可以开发外卖配送系统的公司有哪些?...
- 数据库MySQL/mariadb知识点——操作篇(4)数据操作语句
- 网络工程师Day7--本地AAA配置
- 函数指针作为函数參数,实现冒泡排序的升序排序和降序排序
- 升降机用三级液压缸的设计与仿真
- 塔防游戏制作教程(一)
- 前端JavaScript-面向对象
- VBA 根据股票代码查询价格
- SysML实践指南第二版(中文翻译:刘亚龙)第三章 SysML介绍
- 农村没网络怎样安监控,家里没有wifi安哪种监控器
- linux添加java环境变量
热门文章
- java web access_Java Web项目中连接Access数据库的配置方法
- 好用的python学习软件_5种好用的Python工具!Python学习分析
- stream对多个字段分组_java8 stream 如何按多字段分组,并对一个字段求和
- 小程序 处理富文本内图片大小
- ARouter使用随记
- 受够了if (ModelState.IsValid)?ActionFitlter也是一路的坑啊!
- ubuntu高版本环境变量问题
- AndroidM 内核空间到用户空间接口类型
- Flask 富文本编辑器
- 2014年12月26日