`
com_xpp
  • 浏览: 376168 次
社区版块
存档分类
最新评论

Android学习笔记之百度地图基础知识

 
阅读更多

<1>GeoPoint

表示一个地理坐标点,存放经度和纬度,以微度的整数形式存储。
方法
GeoPoint(int latitudeE6, int longitudeE6)
用给定的经纬度构造一个GeoPoint

方法介绍:

public intgetLatitudeE6()

返回GeoPoint的纬度,单位微度

public intgetLongitudeE6()

返回GeoPoint的经度,单位微度

public voidsetLatitudeE6(int latitudeE6)

设置GeoPoint的纬度,单位微度

public voidsetLongitudeE6(int longitudeE6)

设置GeoPoint的经度,单位微度


<2>接口 Projection

该接口用来在屏幕像素x/y坐标系和地球经纬度坐标系之间进行转换,通过MapView.getProjection()来取得映射类。

GeoPointfromPixels(int x, int y)

该方法用给定的像素坐标创建一个新的GeoPoint。 给定的像素点是以MapView的左上角为原点的坐标系统,MapView提供了这个像素转换器(PixelConverter)。
参数:
result - 搜索结果
iError - 错误号,0表示正确返回

PointtoPixels(GeoPointin, Point out)

把给定的GeoPoint变换到相对于MapView左上角的屏幕像素坐标。MapView提供了这种投影变换。
参数:
in - 待变换的一对经纬度
out - 一个用于输出预先存在的对象;如果为空,将返回一个新分配的像素点。

<3>MapController

处理地图移动和缩放的工具类。
返回类型 方法
void animateTo(GeoPointpoint)
对以给定的点GeoPoint,开始动画显示地图。
void animateTo(GeoPointpoint, Message message)
对以给定的GeoPoint,开始动画显示地图。
boolean onKey(View v, int keyCode, KeyEvent event)
处理按键事件,把事件变换为适度的地图平移。
void scrollBy(int x, int y)
按照给定的像素数据量滚动。
void setCenter(GeoPointpoint)
在给定的中心点GeoPoint上设置地图视图。
int setZoom(int zoomLevel)
设置地图的缩放级别。
void stopAnimation(boolean jumpToFinish)
终止所有未完成的动画,有条件的把地图中心修正到已完成的特殊动画的偏移量上去。
void stopPanning()
重新设置平移状态,使地图静止。
boolean zoomIn()
放大一个级别。
boolean zoomInFixing(int xPixel, int yPixel)
放大一个级别。
boolean zoomOut()
缩小一个级别。
boolean zoomOutFixing(int xPixel, int yPixel)
缩小一个级别。
void zoomToSpan(int latSpanE6, int lonSpanE6)
尝试调整地图的缩放,以便显示给定的经纬度范围。

<4>MapView

一个显示地图的视图,当被焦点选中时,它能捕获按键事件和触摸手势去平移和缩放地图。

返回类型 方法
boolean canCoverCenter()
检查当前是否有地图贴片覆盖地图中心点。
protected boolean checkLayoutParams(android.view.ViewGroup.LayoutParams p)
仅检查p是否是的一个MapView.LayoutParams实例。
void computeScroll()
捕获滚动事件,用它们去平移地图。
void displayZoomControls(boolean takeFocus)
显示缩放控件,可以选择是否请求焦点选中以便通过按键访问。
protected android.view.ViewGroup.LayoutParams generateDefaultLayoutParams()
返回一个Layout参数的集合,其中参数带有ViewGroup.LayoutParams.WRAP_CONTENT的宽度,ViewGroup.LayoutParams.WRAP_CONTENT高度和坐标(0,0)。
protected android.view.ViewGroup.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams p)
android.view.ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs)
MapController getController()
返回地图的MapController,这个对象可用于控制和驱动平移和缩放。
int getLatitudeSpan()
当前纬线的跨度(从地图的上边缘到下边缘),十进制度×1,000,000。
int getLongitudeSpan()
当前经度的跨度(从地图的左边缘到地图的右边缘),单位:十进制的度×1,000,000。
GeoPoint getMapCenter()
返回当前地图中心点位置,做为一个GeoPoint(经度、纬度)的对象。
int getMaxZoomLevel()
返回当前视图中心点的最大缩放级别。
java.util.List<Overlay> getOverlays()
获取Overlay列表。
Projection getProjection()
获取屏幕像素坐标和经纬度对之间的转换。
View getZoomControls()
已过时
int getZoomLevel()
返回当前地图的缩放级别。
boolean isSatellite()
boolean isStreetView()
boolean isTraffic()
是否显示交通流量。
protected void onDetachedFromWindow()
当被分离调用,清除缩放控件。
protected void onDraw(Canvas canvas)
void onFocusChanged(boolean hasFocus, int direction, Rect previouslyFocusedRect)
当这个视图的焦点状态变化时被视图系统调用。
boolean onKeyDown(int keyCode, KeyEvent event)
把按键传送到overlay。
boolean onKeyUp(int keyCode, KeyEvent event)
把按键传送到overlay。
protected void onLayout(boolean flag, int l, int t, int r, int b)
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
void onRestoreInstanceState(Bundle state)
把MapView的状态恢复到一个Bundle。
void onSaveInstanceState(Bundle state)
把MapView的状态存储到一个Bundle中。
protected void onSizeChanged(int w, int h, int oldw, int oldh)
重新调整地图对象的尺寸。
boolean onTouchEvent(MotionEvent event)
首先把touch事件传送到overlay,如果它不处理它们,就把事件再传送到手势探测器,然后分发探测到的手势。
boolean onTrackballEvent(MotionEvent event)
把trackball事件首先传送到overlay,如果它们不处理消息,尝试取平移和点击。
void onWindowFocusChanged(boolean hasFocus)
当包含这个视图的窗口得到或是去焦点时被调用。
void preLoad()
void setDrawOverlayWhenZooming(boolean bDraw)
设置在缩放动画过程中是否绘制overlay,默认为不绘制。 如果绘制,在覆盖物很多的情况下效率会有损失。 自1.1版本之后支持。
void setBuiltInZoomControls(boolean on)
设置是否启用内置的缩放控件。
void setReticleDrawMode(com.baidu.mapapi.MapView.ReticleDrawMode mode)
暂不支持。
void setSatellite(boolean on)
设置是否打开卫星图。
void setStreetView(boolean on)
暂不支持。
void setTraffic(boolean on)
设置是否打开交通流量图层。
void regMapViewListener(BMapManager bmapMan, MKMapViewListener listener)
注册地图显示事件监听器。

<5>MyLocationOverlay

一个负责显示用户当前位置的Overlay。

Overlay是一个覆盖,它绘制用户当前在地图上的位置(精准度),和/或一个嵌入的指南针。子类能覆盖方法dispatchTap()去处理对当前位置的点击。

为了开启这个overlay的功能,需要去调用enableMyLocation()和/或enableCompass(), 或调用Activity中的Activity.onResume()方法。记住,当在后台是,要在Activity中的Activity.onPause()方法中调用相应的disableMyLocation()和/或disableCompass()关闭这个功能。
返回类型 方法
void disableCompass()
关闭指南针的更新。
void disableMyLocation()
停止位置更新。
protected boolean dispatchTap()
在“我的位置”坐标上处理点击事件。
boolean draw(Canvas canvas,MapViewmapView, boolean shadow, long when)
绘制方法。
protected void drawCompass(android.graphics.Canvas canvas, float bearing)
绘制指南针。
protected void drawMyLocation(Canvas canvas,MapViewmapView, android.location.Location lastFix,GeoPointmyLocation, long when)
绘制“我的位置”点。
boolean enableCompass()
开启指南针更新功能。
boolean enableMyLocation()
尝试开启MyLocation功能,并向MKLocationManager.GPS_PROVIDER和MKLocationManager.NETWORK_PROVIDER注册更新。
Location getLastFix()
返回一个位置,对应于最近设定的用户位置。
GeoPoint getMyLocation()
返回一个GeoPoint,对应于一个最近设定的用户位置。
float getOrientation()
返回最近设定的的指南针朝向。
boolean isCompassEnabled()
检查指南针小部件是否被显示。
boolean isMyLocationEnabled()
void onAccuracyChanged(Sensor sensor, int accuracy)
void onLocationChanged(Location location)
监听并获取位置更新。
void onProviderDisabled(java.lang.String provider)
void onProviderEnabled(java.lang.String provider)
void onSensorChanged(SensorEvent event)
当指南针的值变换时,由SensorManager调用。
boolean onSnapToItem(int x, int y, android.graphics.Point snapPoint,MapViewmapView)
检查给定的(x,y)是否和引起当前行为(如缩放)的item足够靠近。
boolean onTap(GeoPointp,MapViewmapView)
检查点击的位置是否非常接近于当前的位置(如果已知)。
boolean runOnFirstFix(java.lang.Runnable runnable)
把一个runnable加入队列,一旦收到一个位置信息,这个runnable就被执行。

<6>Overlay

Overlay是一个基类,它表示可以显示在地图上方的覆盖overlay。 添加一个overlay时,从这个基类派生出一个子类,创建一个实例,然后把它加入到一个列表中。这个列表通过调用MapView.getOverlays()得到。为了允许用户触摸去对齐一个点,子类应当实现Overlay.Snappable接口。
返回类型 方法
boolean draw(Canvas canvas,MapViewmapView, boolean shadow)
在地图上绘制overlay。
boolean draw(Canvas canvas,MapViewmapView, boolean shadow, long when)
专门绘制动画overlay的调用。
protected static void drawAt(Canvas canvas, Drawable drawable, int x, int y, boolean bShadow)
在某个偏移位置画一个Drawable的便捷方法。
boolean onKeyDown(int keyCode, KeyEvent event,MapViewmapView)
处理一个按键被按下的事件。
boolean onKeyUp(int keyCode, KeyEvent event,MapViewmapView)
处理一个按键放开事件。
boolean onTap(GeoPointp,MapViewmapView)
处理一个“点击”事件。
boolean onTouchEvent(MotionEvent e,MapViewmapView)
处理一个触摸事件。
boolean onTrackballEvent(MotionEvent e,MapViewmapView)
处理一个轨迹球事件。




分享到:
评论

相关推荐

    Android学习笔记之百度地图(分条目覆盖物:ItemizedOverlay)

    在Android开发中,百度地图API是一个广泛使用的工具,它提供了丰富的功能,如定位、路径规划、地图渲染等。本文将深入探讨如何利用Android SDK中的`ItemizedOverlay`类来实现地图上的分条目覆盖物,这在显示多个点...

    第一行代码 android学习笔记 完整版

    Android学习笔记是Android开发者的必读书籍,书中涵盖了Android系统架构、Activity、Intent、资源管理等多方面的知识。本笔记对应的学习资源《第一行代码》是Android开发者的入门必读书籍,书中系统地介绍了Android...

    Android学习笔记(十)——实现新闻列表

    Android学习笔记(一)——创建第一个Android项目 Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) ...

    Android学习笔记

    以上是关于Android学习的基础知识点介绍,涵盖了Android的特性和架构、开发环境配置、运行首个程序以及调试技巧等方面的内容。对于初学者来说,理解这些概念和技术是非常重要的,这将为后续深入学习Android开发打下...

    android 学习笔记(全全整理)

    这份笔记涵盖了从基础到高级的多个方面,旨在帮助读者建立起完整的Android知识体系。以下将详细介绍其中可能包含的关键知识点: 1. **环境搭建**:Android Studio的下载与安装,配置Java Development Kit (JDK),...

    android学习笔记2

    总的来说,这份"android学习笔记2"涵盖了Android开发中的基础概念和百度地图的集成应用。通过自学这些内容,你将能够创建具备地图功能的Android应用,进一步提升你的编程技能。在实践中不断探索和学习,将使你在...

    Android基础笔记

    Android 基础笔记是 Android 开发的入门知识点总结,涵盖了 Android 开发的基础知识点,从 Android 发展史到自定义 ContentProvider 的实现。 一、Android 发展史 Android 的发展史可以追溯到 2003 年,最初由 ...

    ArcGIS for android学习笔记

    本篇学习笔记主要涵盖了ArcGIS for Android的基础配置和核心组件MapVie的使用。 首先,配置ArcGIS for Android项目需要在`Project`级别的`build.gradle`文件中添加Esri的仓库,确保能获取到所需的库。接着,在`...

    Android学习笔记.doc Android学习笔记.doc

    【Android学习笔记】 Android平台是谷歌推出的一个开放源代码的移动设备操作系统,它为开发者提供了一个全面的软件包,包括操作系统、中间件和关键应用程序。这个平台的主要目标是促进移动应用的创新和多样性,允许...

    android 开发笔记

    总之,这份"Android开发笔记"是一套全面的学习资源,涵盖了从基础到进阶的Android开发知识,特别关注在real6410开发板上的实践。通过深入阅读并实践这些教程,开发者不仅可以提升Android应用开发技能,还能掌握在...

    java学习细节 android学习笔记

    根据给定的信息,我们可以从Java和Android学习笔记中提取出一系列重要的知识点,下面将逐一进行详细解释。 ### Java基础知识 #### 1. 命令行基础操作 - **`javacmd`**: 这个命令是Java命令行工具的一部分,用于...

    android 学习笔记

    Android学习笔记(1)-永远不变的Hello World Google的Android SDK发布也有一段时间了,一直想研究一下却苦于找不到时间。利用这个周未,开始强迫自己再次进入学习状态,原因很简单:我看好开放的gPhone。 SDK的下载...

    Android开发学习笔记(整理)

    Android开发学习笔记(整理),整理论坛android学习笔记,较完整的讲解了android的内容。包括:view、activity、service、intent、广播机制、http连接、数据sqllite存储、后台线程、各种layout、偏好、本地文件操作、...

    黑马Android基础笔记

    《黑马Android基础笔记》是一份全面且深入的Android开发学习资料,主要针对初学者和希望巩固基础知识的开发者。这份笔记涵盖了Android开发的核心概念和技术,旨在帮助读者构建坚实的Android开发基础。 1. **Android...

    php学习笔记之基础知识

    php学习笔记之基础知识

    Android学习笔记1

    从给定的文件信息来看,这些内容主要是Android开发的学习笔记,涵盖了从基础控件的添加、布局的设置、样式主题的调整到Activity生命周期的管理等多方面的知识点。以下是对文件内容的具体分析: 1. 添加TextView控件...

    Android学习笔记.pdf

    Android学习笔记.pdf

    android学习笔记之二

    在“android学习笔记之二”中,我们主要探讨的是如何在Android平台上实现一个用户登录的模拟工程。这个项目,名为“UserLoginTestProject”,旨在帮助开发者理解和实践Android应用中的用户认证流程。通过这个实例,...

Global site tag (gtag.js) - Google Analytics