Android Google Map实例 - 添加GPS位置标注(Android mapview)
有时候你需要将自己的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的空间
更多相关文章
- Android:DropPopMenu — 显示位置跟随操作按钮显示的带箭头的弹出
- android 中使用java aes加密算法,报错信息android javax.crypto.B
- (转)Android中LocationManager的简单使用,获取当前位置
- Android从SD卡中加载图片或读取信息
- android segment fault logcat相关信息分析
- android alarm相关信息
- android实现虚拟按键实例
- Android 改变View位置 setLeft、etRight、setTop、setBottom等在
- Android binder 实例