Android基本功:根据GPS信息在地图上定位

一、MapView类 

  • 直接在布局中使用,使用android:apiKey属性定义MAP API KEY; 

  • 支持如下方法: 

    • MapController getController():获取该MapView关联的MapController; 

    • GeoPoint getMapCenter():获取该MapView所显示的中心; 

    • int getMaxZoomLevel():获取该MapView所支持的最大放大级别; 

    • List<Overlay> getOverlays():获取该MapView上显示的全部Overlay; 

    • Projection getProjection():获取屏幕像素坐标和经纬度之间的投影关系; 

    • int  getZoomLevel():获取该屏幕当前的缩放级别; 

    • setBuilthZoomControls(boolean on):设置是否显示内置的缩放按钮; 

    • setStatelite(Boolean on):设置是否显示卫星地图; 

    • setTraffic(Boolean on):设置是否显示交通情况; 

 

二、MapViewController类 

  • 对MapView进行控制,比如控制控制地图定位到指定的位置或控制地图方法、缩小等; 

  • animationTo(GeoPoint point):控制地图到指定的位置; 

 

三、GeoPoint类 

  • 就是对经纬度的封装; 

 

四、根据经纬度在Google Map定位的步骤 

  1. 获取MapView对应的MapController对象; 

  2. 根据程序获取的经纬度创建GeoPoint对象; 

  3. 调用MapView关联的MapController对象的animationTo(GeoPoint point)方法定位到指定位置; 

  4. 通过Overlay在Map的指定位置绘制图片 

    1. 获取MapView上屏幕坐标与经纬度坐标之间的投影关系; 

    2. 调用Projection的toPixels方法把经纬度转换为屏幕坐标; 

    3. 调用Canvas的drawBitmap方法在屏幕的指定位置绘制图片; 

  5. 在清单文件中添加使用Google API声明和网络权限;


Android基本功:根据GPS信息在地图上定位

上一篇:[Cocos2d-x]解决Android平台ndk-build时不自动删除外部库


下一篇:一些 android 项目