`
ze_nana
  • 浏览: 52294 次
社区版块
存档分类
最新评论

定位(4)

 
阅读更多

1.Geocoding介绍

是google的所提供的一项服务,主要有一下两个方面的功能:

1)查询地址,传给geocoding一个地址,能查询出地址的经纬度

2)查询经纬度,传给geocoding一个经纬度,能查询出具体地址

 

如何使用:

1)创建一个GeoCoder对象;

2)调用该对象的getFromLocation()或是getFromLocationName()方法;

 

2.Android内置的Geocoder类

         方便的访问Geocoding服务

         在模拟器中无法使用。

 

3.Geocoder的替代

 

异步:不等待函数执行完毕没,立刻返回。

import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import android.app.Activity;
import android.location.Address;
import android.location.Geocoder;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
	private Button geocodingButton = null;
	private Button reverseGeocodingButton = null;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

//给geocodingButton绑定监听器
        geocodingButton = (Button)findViewById(R.id.getLocationButton);
        geocodingButton.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View arg0) {
				//执行一个异步任务
				new GeocodingTask().execute();
			}
        	
        });
//给reverseGeocodingButton绑定监听器
        reverseGeocodingButton = (Button)findViewById(R.id.getLocationNameButton);
        reverseGeocodingButton.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View arg0) {
				//执行异步任务
				new ReverseGeocodingTask().execute();
			}
        	
        });
    }
    
	//继承android内部异步任务类
    private class GeocodingTask extends AsyncTask<Integer,Integer,Integer>{

		@Override
		protected Integer doInBackground(Integer... arg0) {
			//创建Geocoder对象,执行相关查询,但是存在未知BUG,导致服务不可用
			Geocoder geocoder = new Geocoder(MainActivity.this);
			try {
				//根据给定的地址名称,查询符合该地址的经纬度,第一个参数即给定的地址名称,第二个参数表示返回的最大结果数
				List<Address> addresses = geocoder.getFromLocationName("SFO", 1);
				System.out.println(addresses.size());
			} catch (IOException e) {
				e.printStackTrace();
			}
			return null;
		}
    }
    
    private class ReverseGeocodingTask extends AsyncTask<Integer,Integer,Integer>{

		@Override
		protected Integer doInBackground(Integer... arg0) {
			Geocoder geocoder = new Geocoder(MainActivity.this);
			try {
				//根据给定的经纬度,查询符合条件的地址
				List<Address> addresses = geocoder.getFromLocation(40.711442,-73.961452, 1);
				//遍历结果
				for(Iterator<Address> it = addresses.iterator();it.hasNext();){
					Address address = it.next();
					System.out.println(address);
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
			return null;
		}
    }
}

 



 

 点击上面两个按钮,打印出信息:



 

  • 大小: 6.1 KB
  • 大小: 9 KB
分享到:
评论

相关推荐

    TDOA定位的Chan算法MATLAB源代码.zip_4G定位_4g matlab_5g定位_DOA_TDOA

    4. **误差分析与优化**:对定位误差进行建模和分析,可能包含迭代优化算法以减小定位误差。 5. **仿真与测试**:通过模拟不同的场景和条件,测试算法的性能和稳定性。 描述中提到的4G和5G通信系统的定位,意味着这...

    selenium元素定位

    4. 使用部分链接文字定位 5. 使用XPath定位 6. 使用CSS选择器定位 7. 使用类名称定位 8. 使用标签名称定位 9. 使用JQuery定位 对于每一种定位方法,Selenium都提供了相应的函数和类来进行操作。 使用id定位是根据...

    微震震源定位方法的MATLAB程序.zip_Geiger定位法_MATLAB震源定位_geiger_微震定位程序_震源 定位

    4. 最小二乘拟合:设定震源位置的坐标为未知数,以实际观测的旅行时间和理论旅行时间的差值平方和作为优化目标,通过迭代求解最小化问题来确定最优震源位置。 5. 结果验证:将定位结果与实际观测数据对比,评估定位...

    [详细完整版]新媒体定位.pptx

    目录 CONTENTS 3 4 5 6 7 2 定位五步走 1. 用户定位 2. 价值定位 3. 人格定位 4. 场景定位 5. 功能定位 1 定位 新媒体定位全文共54页,当前为第2页。 定位 01 新媒体定位全文共54页,当前为第3页。 整体属性 内容...

    北斗_GPS组合相对定位及精度分析.pdf

    4. 时空基准统一在北斗/GPS组合相对定位中的应用 5. 坐标系统统一在北斗/GPS组合相对定位中的应用 6. 轨道计算方法统一在北斗/GPS组合相对定位中的应用 7. 北斗/GPS组合相对定位的精度分析 相关概念: 1. 北斗系统...

    基于BDS_GPS组合的短基线相对定位性能分析.pdf

    4. BDS/GPS组合定位的性能分析,包括空间位置精度因子、整周模糊度固定率和定位精度 5. GPS和BDS组合定位在实际应用中的优点和前景 相关概念: 1. 卫星导航系统 2. 定位系统 3. 短基线相对定位 4. GPS和BDS系统 5....

    定位算法 三点定位MATLAB代码

    4. 检验结果:计算定位结果与实际距离的误差,确保定位的准确性。 5. 可视化:利用MATLAB的绘图功能,将三个参考点和定位点在二维或三维空间中表示出来,便于理解和验证结果。 三、MATLAB代码示例 以下是一个简单的...

    BDS_GPS组合伪距单点定位性能分析与评价.pdf

    "BDS_GPS组合伪距单点定位性能分析与评价" 本文主要讨论了北斗系统(BDS)和GPS组合伪距单点定位性能分析与评价。随着北斗系统全球组网的完成,该系统将逐步具备全球导航定位能力。在多种卫星导航系统并存的背景下...

    定位超宽带定位室内定位高精度定位联睿定位算法

    ### 定位超宽带定位室内定位高精度定位联睿定位算法 #### 1. 室内定位技术概览 随着科技的进步,特别是物联网(IoT)技术的发展,人们对位置服务的需求日益增长。室内定位技术作为位置服务的重要组成部分,正在成为...

    频差和时差定位程序_时差定位_频差定位_

    4. 结果解析:用户可以查看定位结果和GDOP图,以评估定位精度和优化接收站布局。 通过深入理解这些概念并熟悉该程序的使用,用户能够在实际场景中应用TDOA和FDOA技术,为无线通信和导航系统的设计与优化提供有力...

    three_side.rar_matlab三边定位_matlab三边算法_三边定位_定位_定位误差

    4. **误差分析**:计算实际位置与估计位置的差异,通常用均方根误差(Root Mean Square Error, RMSE)来评估定位精度。 5. **图形可视化**:可能包括目标、基站、实际轨迹和估计轨迹的二维或三维图形,帮助直观理解...

    BDS_GPS融合精密定位理论与算法研究.pdf

    "BDS_GPS融合精密定位理论与算法研究" 本文主要研究了BDS/GPS融合精密定位理论与算法,旨在提高卫星导航系统的定位精度和时间效率。文章首先分析了BDS和GPS系统之间的差异性,包括时空参考框架、星座结构、信号内容...

    GPS单点定位.rar_GPS单点定位程序_gps定位_matlab 单点定位_单点定位_单点定位matlab

    4. **几何解算**:单点定位需要解决一个非线性四维最小二乘问题,找到接收器的位置(三维坐标和钟差)使得伪距与卫星到接收机的几何距离之差最小。MATLAB中的优化工具箱可以帮助解决这个问题。 5. **坐标转换**:...

    Android版百度定位、腾讯定位、高德定位三者混合

    ### 4. 腾讯定位SDK 腾讯地图定位服务也相当成熟,除了基础的定位功能,还提供了地理编码、反地理编码、IP定位等服务。集成时需要申请AppKey,并配置相应的权限和依赖。 ### 5. 高德定位SDK 高德地图定位SDK提供了...

    轴承的轴向定位及几种定位方法借鉴.pdf

    4. 轴承座端面和端盖法兰间的轴向间隙,确保间隙合理,避免运动中产生不应有的摩擦和噪声。 通过有限元分析(FEM)和实验验证,可以对轴承的轴向定位进行精确的检查和优化,确保设计的可行性和可靠性。 总结起来,...

    升级定位_定位_cajian_

    4. 基站定位:利用移动通信基站的信号,通过三角定位原理确定设备位置。升级基站定位可能包括提高基站覆盖密度、改善信号质量、采用多频段或多制式融合,以提升城市峡谷和建筑物内的定位效果。 5. 融合定位:结合...

    matlab代码实现TDOA定位_TDOA_TDOA定位_matlab代码实现TDOA定位_matlab实现TDOA_matla

    TDOA(Time Difference of Arrival,到达时间差)定位是一种基于信号到达不同接收器之间的时间差来确定发射源位置的技术,常用于无线通信系统和GPS导航。在MATLAB环境中实现TDOA定位可以帮助我们理解和模拟这种定位...

    geiger.rar_Geiger定位_geiger震源定位_地震_微地震_微地震定位

    4. 反演算法:应用非线性反演技术,如梯度下降法或遗传算法,通过最小化观测到的旅行时间与模型预测旅行时间的差异,来寻找最佳的震源位置。 5. 位置确定:反演过程收敛后,得出的最优解即为震源的地理位置。 三、...

Global site tag (gtag.js) - Google Analytics