手机定位-新手求助,android百度定位textview没有显示地址

问题描述

新手求助,android百度定位textview没有显示地址

public class StartCanteenActivity extends Activity
{
private TextView locationInfoTextView = null;
private Button startButton = null;
private LocationClient locationClient = null;
private static final int UPDATE_TIME = 5000;
private static int LOCATION_COUTNS = 0;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_canteen);
locationInfoTextView = (TextView) this.findViewById(R.id.locationTextView);
startButton = (Button) this.findViewById(R.id.location_button);

    locationClient = new LocationClient(this);
    //设置定位条件
    LocationClientOption option = new LocationClientOption();
    option.setOpenGps(true);        //是否打开GPS
    option.setCoorType("bd09ll");       //设置返回值的坐标类型
    option.setPriority(LocationClientOption.NetWorkFirst);  //设置定位优先级
    option.setScanSpan(UPDATE_TIME);    //设置定时定位的时间间隔。单位毫秒
    locationClient.setLocOption(option);

    //注册位置监听器
    locationClient.registerLocationListener(new BDLocationListener() {
        @Override
        public void onReceiveLocation(BDLocation location) {
            if (location == null) {
                return;
            }
            StringBuffer sb = new StringBuffer(256);
            sb.append("
Address : ");
            sb.append(location.getAddrStr());
            sb.append(String.valueOf(LOCATION_COUTNS));
            locationInfoTextView.setText(sb.toString());
        }
    });
    startButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if (locationClient == null) {
                return;
            }
            if (locationClient.isStarted()) {
                startButton.setText("Start");
                locationClient.stop();
                }
            else {
                startButton.setText("Stop");
                locationClient.start();
                locationClient.requestLocation();
            }
        }
    });
}
@Override
protected void onDestroy() {
    super.onDestroy();
    if (locationClient != null && locationClient.isStarted()) {
        locationClient.stop();
        locationClient = null;
    }

}

}

解决方案

Android 百度定位

解决方案二:

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.location.LocationClientOption.LocationMode;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MyLocationData;

public class MainActivity extends Activity {

private BaiduMap baiduMap;
private MapView mapView;
private LocationClient locationClient = null;// 定位SDK的核心类
private MyLocationData myLocationData;// 用户位置信息
private String tempcoor = "gcj02";
private TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    SDKInitializer.initialize(getApplicationContext());// 初始化SDK
    setContentView(R.layout.activity_main);

    init();
}

public void init() {
    mapView = (MapView) findViewById(R.id.mapView);
    textView = (TextView) findViewById(R.id.textView1);
    baiduMap = mapView.getMap();// 得到百度地图

    // 设置百度地图类型
    baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);// 普通地图

    // baiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);// 卫星地图

    // baiduMap.setTrafficEnabled(true);// 开启交通图

    // baiduMap.setBaiduHeatMapEnabled(true);//开启地图热度,人口密集处

    // baiduMap.setMyLocationEnabled(true);// 开启定位图层
    locationClient = new LocationClient(getApplicationContext());
    locationClient.registerLocationListener(bdLocationListener);// 注册定位监听器

    // 定位前的准备工作
    initLocation();

    locationClient.start();// 开始定位
    locationClient.requestLocation();

}

public void initLocation() {

    LocationClientOption option = new LocationClientOption();
    option.setLocationMode(LocationMode.Hight_Accuracy);// 高精度定位模式
    option.setCoorType(tempcoor);// 国测局加密经纬度坐标
    option.setScanSpan(0);
    option.setIsNeedAddress(true);
    option.setOpenGps(true);
    option.setLocationNotify(true);// 可选,默认false,设置是否当gps有效时按照1S1次频率输出GPS结果
    option.setIgnoreKillProcess(true);
    locationClient.setLocOption(option);

}

BDLocationListener bdLocationListener = new BDLocationListener() {

    @Override
    public void onReceiveLocation(BDLocation location) {
        // TODO Auto-generated method stub
        if (location == null) {
            return;
        }

        // myLocationData = new MyLocationData.Builder()
        // .accuracy(location.getRadius()).direction(100)
        // .latitude(location.getLatitude())
        // .latitude(location.getLongitude()).build();
        // baiduMap.setMyLocationData(myLocationData);

        textView.setText("radius:" + location.getRadius() + ";"
                + "latitute:" + location.getLatitude() + ";"
                + "longtitute:" + location.getLongitude() + ";"
                + "address:" + location.getAddrStr());

    }
};

@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    if (mapView != null) {
        mapView.onResume();
    }

}

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    if (mapView != null) {
        mapView.onPause();
    }

}

@Override
protected void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();

    if (mapView != null) {
        mapView.onDestroy();
        mapView = null;
    }
    if (locationClient != null) {
        locationClient.unRegisterLocationListener(bdLocationListener);
    }
}

}

解决方案三:

参考:
百度地图开发:

http://blog.csdn.net/column/details/android-jacksen-map.html

时间: 2025-01-27 00:21:46

手机定位-新手求助,android百度定位textview没有显示地址的相关文章

手机定位-大牛请进,我有几个android百度定位的问题提问,,,

问题描述 大牛请进,我有几个android百度定位的问题提问,,, 这是代码,第一个问题也是最最重要的问题:为什么定位启动textview没有显示手机位置,第二个问题:如果不用点击button开始定位,APP启动后自动定位的代码是!!!第三个问题:请求网络获取手机所在位置的权限提醒弹窗怎么取消,给她权限自动通过请求...谢谢大牛了!!! 解决方案 首先你的locationClient的初始化有问题.怎么看你在**onDestory()**里面初始化的呢? 不点击button开始定位,就把触发定位

Android百度定位导航之基于百度地图移动获取位置和自动定位_Android

一.问题描述 使用百度地图实现如图所示应用,首先自动定位当前我起始位置(小圆点位置),并跟随移动不断自动定位我的当前位置 百度Api不同版本使用会有些差异,本例中加入lib如下: 二.编写MyApplication类 public class MyApplication extends Application { static MyApplication myApplication; BMapManager mBMapManager = null; String mStrKey = "7ZfuR

android前台的textview怎么显示一个数组,并且定时刷新数据?

问题描述 android前台的textview怎么显示一个数组,并且定时刷新数据? 有一个数组,想把里面的数据定时在前台一个文本框显示,每次显示一个.代码要怎么弄啊??新手刚开始学安卓开发.求大神不要嫌弃. 解决方案 Handler handler = new Handler(); int i =0; Runnable runnable = new Runnable() { @Override public void run() { // handler自带方法实现定时器 try { handl

Android控件textview文字显示不全,求帮忙?

问题描述 Android控件textview文字显示不全,求帮忙? 解决方案 你看看是不是android:singleLine = "true" 解决方案二: android_width="match_parent" android_height="warp_content" android:singleLine = "fasle" 解决方案三: width改成warp_content 解决方案四: 这个要看你写xml了,估计

Android 百度定位SDK(v6.1.3)结合方向传感器

概述 这是第二篇关于百度地图SDK的博客. 推荐阅读: Android 百度地图周边雷达(v6.1.3) Android 百度鹰眼轨迹SDK(v2.1.6) 今天主要写百度地图定位和方向传感器结合这么一个中间块案例. 流程 申请密钥及相关配置请看:http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/buildprojec 初始化百度地图SDK 定位到当前位置 获取方向传感器方向 设定到百度地图SDK 努力总会有收获,go! 为

android 百度地图定位图标上下晃动,像一个探针似的上下晃动,怎么实现

问题描述 android 百度地图定位图标上下晃动,像一个探针似的上下晃动,怎么实现 百度定位图标一蹦一跳的这种效果怎么实现.请各位大神指教.............. 解决方案 Android 百度地图API 定位 导航 代码Android 百度地图API 定位 导航 解决方案二: marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画 解决方案三: 应该是在地图上绘画吧 用Canvas

重拾百度定位之踩坑篇(上)

前言 最近更新项目中用的百度定位SDK时遇见了一个奇葩的问题.当升级SDK后百度定位一直返回505,通过百度定位官网查看该码表示AK非法或者不存在.很纠结,于是自己又写了一个demo来研究一下百度定位以及大家使用百度定位经常出现的问题,特此记录.这篇文章我先将百度定位的实现也介绍一下,最后再分析遇到的问题及解决方案. 定位分析 目前百度定位提供了WIFI,基站,GPS等多种定位方式,适用于室内.室外多种定位场景,具有出色的定位性能:定位精度高(其实我是想吐槽的).覆盖率广.网络定位请求流量小.定

重拾百度定位之踩坑篇(下)

接上文 实现BDLocationListener接口 /*****       * 定位结果回调,重写onReceiveLocation方法       *       */      private BDLocationListener mListener = new BDLocationListener() {             @Override          public void onReceiveLocation(BDLocation location) {        

Android 百度鹰眼轨迹SDK(v2.1.6)

闲聊 看过<鹰眼追击>这部电影的读者一定对"鹰眼"这台巨无霸计算机印象深刻,现在我们可以实现自己的鹰眼. 效果图 本篇为百度地图SDK第三篇博文 第一篇实现:Android 百度地图周边雷达(v6.1.3)及覆盖物 第二篇实现:Android 百度定位SDK(v6.1.3)结合方向传感器 本博文为第三篇 使用百度鹰眼轨迹SDK可以实现的功能 轨迹追踪 借助GPS.基站.Wi-Fi和传感器信息,实现室内.外高精度的连续轨迹追踪,整体定位精度50m: GPS:10m(取决于芯片