Android--GoogleMap的使用

-步骤----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1:权限<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
2:获得设备
         LocationManager lm = (LocationManager) this.getSystemService(LOCATION_SERVICE);
                //检测设备是否可用
                    if (lm.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER))

                //如果设备不可使用跳到设置界面
                   Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS);
                   startActivityForResult(intent,0);

3:设置服务提供者并绑定监听器-获得设备所提供的服务
         lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2*1000, 100, new MyLocationListener());
                其中MyLocationListener实现LocationListener接口;并在其方法中接收服务信息


注意:在给出服务提供这的时候可以根据要求获得最佳提供者(卫星或者基站)

例子如下:
 LocationManager lm = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
// 查找到服务信息
//        Criteria criteria = new Criteria();
//        //设置精度
//        criteria.setAccuracy(Criteria.ACCURACY_FINE);
//        //设置是否取得海拔
//        criteria.setAltitudeRequired(false);
//        //是否获得方向
//        criteria.setBearingRequired(false);
//        //是否允许产生费用
//        criteria.setCostAllowed(true);
//        //耗电情况
//        criteria.setPowerRequirement(Criteria.POWER_LOW);
//        //获取最合适的provider,第二个参数表示在所有中选择还是只在可用的当中选择
//        String provider = lm.getBestProvider(criteria, true);
       // Location location = lm.getLastKnownLocation(provider); // 通过GPS获取位置
       
          lm.requestLocationUpdates(provider, 1*1000, 50, new LocationListener());


GeoCoder类的使用---------------------------------------------------------------------------------------------------------------------------------------------

       

LocationManager 通过基站和卫星获得经纬度。

GeoCoder可以通过名名称查找经纬度和通过经纬度查找地区的名称

List<Address> list = coder.getFromLocationName("开封市", 3);        
        
List<Address> listtow = coder.getFromLocation(34.797683, 114.307624, 3);
注意:使用Geocoder类是通过GoogleAPI来获得的所以在做测试的时候需要建立GoogleAPI的虚拟机(2.1版本一下可以用)
---地址解析http://code.google.com/intl/zh-CN/apis/maps/documentation/geocoding/

根据指纹认证来获取密钥
http://code.google.com/intl/zh-CN/android/maps-api-signup.html


GoogleMap的使用-----------------------------------------------------------------------------------------------------------------------------------------



 1)生成MD5指纹 keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android

 2) http://code.google.com/android/maps-api-signup.html 输入MD5指纹,得到map api 密钥



1:一个KEY 给软件签名

2:通过KEY获得 MD5指纹认证: D1:9B:EA:48:71:BB:92:91:79:77:89:04:54:62:D0:16

3:通过指纹认证获得密钥
http://code.google.com/android/maps-api-signup.html
输入MD5指纹,得到map api 密钥
下面是一个 xml 格式的示例,帮助您了解地图功能:

              <com.google.android.maps.MapView
                 android:layout_width="fill_parent"

                 android:layout_height="fill_parent"

                 android:focusable="true"
                 android:clickable="true"

                 android:apiKey="05uKvBUHeNd5QDGHEPwuS_Cesm-eAm9tUCgVhLA"
                 />


注意:
1:activity继承MapActivity
2: 获得com.google.android.maps.MapView
            



你可能感兴趣的:(Android--GoogleMap的使用)