对百度地图问题

对百度地图问题的回答:

百度地图api里大概有30个类,api的链接是http://developer.baidu.com/map/ ,通过这个api可以轻松的获取百度服务和数据,构建功能丰富、交互性强的地图应用程序.

这个api为我们开发者提供了本地搜索、路线规划、地图定位灯等数据的服务。

要使用百度地图api,首先要申请它的API key,申请这个key是为了相对百度系统唯一标识这个应用的。

申请完key之后,把这个key放到我们的常量接口中去。这些做完之后还要添加地图引擎到工程中,这个引擎包含了百度mapapijar包和负责定位的locSDKjar包。

在工程中添加网络状态的一些权限和获取手机信息的权限。

然后在布局文件中添加MapView控件用于展示地图。这个MapView是百度地图api中继承ViewGroup的一个类,是一个自定义控件。

需要注意的是,在我们加载布局之前,要先到百度地图的服务器端校验我们获取到的key,校验时初始化地图引擎,使用地图引擎的管理类BMapManager进行初始化,初始化时会校验key还有网络状态。key300时表示授权验证失败,网络状态为2时表示未连接上网络。

做了这几步就可以把地图展示在手机上面。

只做以上几步,我遇到了这样一个问题,当第一次显示地图时能够正常显示,但退出后,再进来就看不到地图的。这时候就得考虑到activity的生命周期问题了,得把activityonResumeonPauseonDestroy这三个方法都覆写后才能正常显示。

 

使用这个api有三个核心的类BMapManagerMapViewMapController.

BMapManager类用于地图的管理,比如地图的初始化;MapView类用于地图的展示;MapController类用于对地图的控制,主要用于控制地图的移动、缩放和旋转。对当前正在显示的Map进行控制。

 

效果一:地图的放大与缩小。

 通过MapView设置缩放控件,首先要明确缩放级别。在2.0版本之前支持的缩放级别是3-18,在2.0版本之后所支持的缩放级别变成了3-19,所多的这一个级别是使地图呈现3D效果。

一般会在MapView中添加一个能够让用户控制的能放大和缩小的控件,调用MapView里的setBuiltInZoomControls(true)方法添加控件。

也可以使用zoomIn方法和zoomOut方法,分别放大和缩小一个级别。

 

效果二:地图的移动

百度地图默认的中心点是北京天安门,移动要调用MapController类中的animateTo方法,给这个方法传进一个GeoPoint对象。GeoPoint对象里放的是经纬度信息。

效果三:地图的旋转

地图上的旋转分为水平方向上的旋转和垂直方向上的旋转。

水平方向上的旋转,调用MapController中的setRotation方法,在这个方法里传入旋转角度,逆时针旋转为角度增大方向

垂直方向上的旋转,调用MapController中的setOverlooking方法,在这个方法里传入旋转角度。这里的角度都为负数,范围在-45-0


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部