有时候你需要将自己的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位置。

Android Google Map实例 - 添加GPS位置标注(Android mapview)_第1张图片 Android Google Map实例 - 添加GPS位置标注(Android mapview)_第2张图片 Android Google Map实例 - 添加GPS位置标注(Android mapview)_第3张图片

好了,一个添加自定义图层和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. Android:DropPopMenu — 显示位置跟随操作按钮显示的带箭头的弹出
  2. android 中使用java aes加密算法,报错信息android javax.crypto.B
  3. (转)Android中LocationManager的简单使用,获取当前位置
  4. Android从SD卡中加载图片或读取信息
  5. android segment fault logcat相关信息分析
  6. android alarm相关信息
  7. android实现虚拟按键实例
  8. Android 改变View位置 setLeft、etRight、setTop、setBottom等在
  9. Android binder 实例

随机推荐

  1. 与vanilla JS的Ajax请求正在退回200OK
  2. 维基百科,如在PHP中列出标题的索引
  3. php 显示某一个时间相当于当前时间在多少
  4. php默认有最大执行时间
  5. nginx + fastcgi  php配置下,安全的文件
  6. 如何使用变量访问多维数组中的某些元素?
  7. php 基本的常用字符串函数
  8. Laravel Migration - 创建从现有列填充
  9. 天气预报API接口大全
  10. 《Zend studio 12 + UPUPW+PHP5.4开发平