有时候你需要将自己的GPS位置也标注到自定义图层上,以方便与先前添加的自定义图层的位置进行参考对照,android也提供了获取GPS信息的接口,实现的核心步骤如下:

1. 添加 import android.location.*;

2. 在 onecreate()函数中添加一个LocationManager 和 LocationListener

lManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); lListener = new MyLocationListener(); lManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,60000,10,lListener);

requestLocationUpdates中第一个参数可以使用GPS_PROVIDER或者NETWORK_PROVIDER,第二个参数是获取GPS信息的时间单位ms,设置时间太小的话会增加耗电,第三个参数是触发listener地址改变的位置变化,单位为米,这里设置10米之内的改变不做响应。

3. 定义自己的MyLocationListener()

private class MyLocationListener implements LocationListener { //@Override public void onLocationChanged(Location loc) { if (loc != null) { mDefPoint=new GeoPoint((int)(loc.getLatitude()* 1E6),(int)(loc.getLongitude()* 1E6)); mapController.animateTo(mDefPoint); //跳转至GPS位置 mapController.setCenter(mDefPoint); addGPSLayer(); //加GPS图层 } } public void onProviderDisabled(String provider) { // TODO Auto-generated method stub } public void onProviderEnabled(String provider) { // TODO Auto-generated method stub } public void onStatusChanged(String provider, int status, Bundle extras) { // TODO Auto-generated method stub } }

4. 加入GPS点位图层,与添加自定义图层的方法一致

public void addGPSLayer() { List<Overlay> mapOverlays = mapView.getOverlays(); Drawable drawable = this.getResources().getDrawable(R.drawable.pushpin_48px); HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable,this); OverlayItem GPSoverlayitem = new OverlayItem(mDefPoint, "Hello!", "I'm here!"); itemizedoverlay.addOverlay(GPSoverlayitem); mapOverlays.clear(); //清除先前的图层,不然会叠加很多位置信息,当然如果想记录行程路线的话就不需要clear了 addSiteLayer(); //重新加入自定义的基站图层 mapOverlays.add(itemizedoverlay); }

5. 程序的改动就上面这些了,如何在模拟器上对GPS信息进行仿真呢,

在Eclipse中选择 - window-show view -other - android - 选择 Emulator Control

在运行的过程中输入相应的经纬度信息,点击send就可以进行GPS仿真了,右下图的蓝色图标即为仿真GPS位置。

好了,一个添加自定义图层和GPS信息的android google map应用完成了,发布安装到自己的手机上试试吧

Android Google Map应用实例 - 发布Android Google Map 程序(Android mapview)

Android Google Map应用实例 - 在地图和卫星图之间切换(Android mapview)

Android Google Map应用实例 - 获取cdma基站经纬度(Android mapview)

转载本站文章请注明,转载自:ADASiteMap的空间[http://www.adasitemap.tk]

本文链接:Android Google Map实例 – 添加GPS位置标注(Android mapview) | ADASiteMap的空间


更多相关文章

  1. android4.0 添加一个新的android 键值(转载)
  2. Android(安卓)packageManagerService如何添加安装权限白名单
  3. Android:使用VideoView(TV显示屏待机状态,循环播放演示视频)
  4. android调用第三方地图(URI)
  5. (转)Android中LocationManager的简单使用,获取当前位置
  6. Debug Android(安卓)and Linux suspend and resume (中文)
  7. android 中使用java aes加密算法,报错信息android javax.crypto.B
  8. Android:DropPopMenu — 显示位置跟随操作按钮显示的带箭头的弹出
  9. Android(安卓)含左右边距的布局分隔线XML写法

随机推荐

  1. Android实现侧拉DrawerLayout简单用法
  2. Android提高第十九篇之"多方向"抽屉
  3. 植物大战僵尸2 Android破解版,免费买道具
  4. 打开电话Android系统调用
  5. Android电源管理
  6. [置顶] Android如何使用Https
  7. Android(安卓)属性总结
  8. Android前置摄像头预览并检测人脸,获取人
  9. 【android】下载大文件保持wifi网络连接
  10. Android(安卓)matrix 控制图片的旋转、缩