我用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反向地理编码显示不出来!相关推荐

  1. android 谷歌定位demo,android实现定位与目的地的导航示例代码

    今天无意中看到技术大神利用百度地图定位并实现目的地导航的Demo.觉得很不错,就转载过来一起分享,下面我们看实现效果: 进入后首先会得到当前位置,在地图上显示出来,在输入框中输入目的地后,就会在地图上 ...

  2. android谷歌反地理,android – 谷歌地理编码服务是不可用的(协调地址)

    这个问题的常见答案是您必须重新启动设备. 当然你不能告诉你的用户重启设备以使你的应用程序运行,所以我的解决方案是使用HTTP回退,这是我在我的代码中使用的AsyncTask. 你必须根据你的情况修改它 ...

  3. android 12306反编译,Android开发(七)| “我的12306”实例

    作为程序员,从一无所知开始接触.熟练使用android控件.布局.活动,自己开发的项目随之越来越茁壮,功能越来越完善,我们的内心是由衷感到高兴的. 为了对两个月的学习成果有一个检验,我把之前所学所讲做 ...

  4. 雅虎财经api_带有Yahoo API的Android反向地理编码– PlaceFinder

    雅虎财经api 在我之前的教程( 基于Android的基于位置的服务应用程序– GPS位置 )中,我向您展示了如何以经度和纬度坐标的形式检索用户的当前位置. 使用这些坐标,我们将提供有关用户位置的信息 ...

  5. android 谷歌地图围栏,如何在谷歌地图与c做地理围栏#

    我已经创建了基本的地理围栏,我在该地图中添加了2个标记和一个圆圈.我试图显示标记是否出现在圆圈标记上应该以不同的颜色显示,以便我们可以了解物体是否出于地理围栏.如何改变标记的颜色或在标记超出圆圈时显示 ...

  6. 使用Python进行地理编码和反向地理编码

    Geocoding is the process of taking input text, such as an address or the name of a place, and return ...

  7. Google Geocoding API---地理编码与反向地理编码

    什么是地理编码 地理编码是将地址(如"1600 Amphitheatre Parkway, Mountain View, CA")转换为地理坐标(如纬度 37.423021 和经度 ...

  8. Elasticsearch:使用反向地理编码在地图上显示自定义区域统计数据

    在实际的许多应用中,我们可能并不一定按照行政区来进行划分区域,比如我们常说江浙一代,我们可以理解江苏和浙江这两个省合在一起,而不是把它们分开.我们有时也说长江三角区,它可能是跨几个省市的一个区域,而不 ...

  9. 谷歌推荐的Android图片加载库(Glide)介绍

    本文出自:http://blog.csdn.net/u011733020 原      文:https://inthecheesefactory.com/blog/get-to-know-glide- ...

最新文章

  1. ios Standard Framework和Umbrella Framework
  2. 网络高可用性之流量镜像和端口流量控制
  3. 2014年新鲜出炉的16款免费英文字体
  4. lua源代码分析01:lua源代码结构分析
  5. Spring声明式事务管理
  6. js 控制浏览器窗口大小
  7. 代码Review发现问题
  8. 测试驱动开发 测试前移_测试驱动陷阱,第2部分
  9. Fun 3.0 发布——资源部署、依赖下载、代码编译等功能又又又增强啦!
  10. 怎么自己打印餐饮小票_自己怎么做餐饮外卖配送系统?可以开发外卖配送系统的公司有哪些?...
  11. 数据库MySQL/mariadb知识点——操作篇(4)数据操作语句
  12. 网络工程师Day7--本地AAA配置
  13. 函数指针作为函数參数,实现冒泡排序的升序排序和降序排序
  14. 升降机用三级液压缸的设计与仿真
  15. 塔防游戏制作教程(一)
  16. 前端JavaScript-面向对象
  17. VBA 根据股票代码查询价格
  18. SysML实践指南第二版(中文翻译:刘亚龙)第三章 SysML介绍
  19. 农村没网络怎样安监控,家里没有wifi安哪种监控器
  20. linux添加java环境变量

热门文章

  1. java web access_Java Web项目中连接Access数据库的配置方法
  2. 好用的python学习软件_5种好用的Python工具!Python学习分析
  3. stream对多个字段分组_java8 stream 如何按多字段分组,并对一个字段求和
  4. 小程序 处理富文本内图片大小
  5. ARouter使用随记
  6. 受够了if (ModelState.IsValid)?ActionFitlter也是一路的坑啊!
  7. ubuntu高版本环境变量问题
  8. AndroidM 内核空间到用户空间接口类型
  9. Flask 富文本编辑器
  10. 2014年12月26日