ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:1.78MB ,
资源ID:17374683      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17374683.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(高德android api 开发指南文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

高德android api 开发指南文档格式.docx

1、7 8 android:android.permission.ACCESS_NETWORK_STATE9 10 android:android.permission.WRITE_EXTERNAL_STORAGE11 12 android:android.permission.READ_PHONE_STATE13 14 android:android.permission.CHANGE_WIFI_STATE15 Configure Build Pathlibraries 中选择“Add Externel JARs”,选定MapApi.jar,点击OK,这样就可以将高德地图Android API

2、库文件引入。然后在工程Build PathOrder and Export 中将引入的库文件MapApi.jar 选中,点击OK,这样您就可以在您的程序中使用高德地图API 了。栅格地图显示MapActivity 是一个抽象类,任何想要显示MapView 的activity 都需要派生自MapActivity。并且在其派生类的onCreate() 中,都要创建一个MapView 实例。17 public class GridMapView extends MapActivity 18 private MapView mMapView;19 private MapController mMapC

3、ontroller;20 private GeoPoint point;21 Override 22 /* 23 *显示栅格地图,启用内置缩放控件,并用MapController 控制地图的中心点及Zoom 级别 24 */ 25 protected void onCreate(Bundle savedInstanceState) 26 / TODO Auto-generated method stub 27 super.onCreate(savedInstanceState);28 setContentView(R.layout.mapview);29 mMapView = (MapView

4、) findViewById(R.id.mapView);30 mMapView.setBuiltInZoomControls(true); /设置启用内置的缩放控件 31 mMapController = mMapView.getController(); / 得到mMapView 的控制权,可以用它控制和驱动平移和缩放 32 point = new GeoPoint(int) (39.982378 * 1E6), 33 (int) (116.304923 * 1E6); /用给定的经纬度构造一个GeoPoint,单位是微度(度* 1E6) 34 mMapController.setCent

5、er(point); /设置地图中心点 35 mMapController.setZoom(12); /设置地图zoom 级别 36 37 在布局 xml 中添加地图控件:38 ?xml version=1.0 encoding=utf-839 LinearLayout xmlns:android=40 xmlns:autonavi=41 android:orientation=vertical android:layout_width=fill_parent42 android:layout_height=43 47 结果见图3-1 栅格地图显示效果图:图3-1 栅格地图显示效果图矢量地图显

6、示将libminimapv320.so 复制到工程目录下的libsarmeabi,目录结构见图3-2 工程目录结构图:图3-2 工程目录结构图代码如下:48 public class VectorMapView extends MapActivity 49 private MapView mMapView;50 private MapController mMapController;51 private GeoPoint point;52 Override 53 /* 54 *显示矢量地图,将libminimapv300.so 复制到工程目录下的libsarmeabi。 55 *启用内置缩放

7、控件,并用MapController 控制地图的中心点及Zoom 级别 56 */ 57 protected void onCreate(Bundle savedInstanceState) 58 / TODO Auto-generated method stub 59 this.setMapMode(MAP_MODE_VECTOR);/设置地图为矢量模式 60 super.onCreate(savedInstanceState);61 setContentView(R.layout.mapview);62 mMapView = (MapView) findViewById(R.id.mapV

8、iew);63 mMapView.setBuiltInZoomControls(true);64 mMapController = mMapView.getController();65 point = new GeoPoint(int) (39.90923 * 1E6), 66 (int) (116.397428 * 1E6);67 mMapController.setCenter(point);68 mMapController.setZoom(12);69 70 结果见图3-3 矢量地图显示效果图:图3-3 矢量地图显示效果图定位信息API 如何获取定位信息高德地图Android API

9、 中提供了GPS 和网络(基站和WiFi)定位。如果使用此功能,必须注册GPS 和网络的使用权限,请参考注意事项。在获取用户位置时,优先使用GPS 进行定位;如果GPS 定位没有打开或者没有可用位置信息,则判断是否通过网络(基站和WiFi)连接,如果是,高德地图会根据手机所在环境选择WiFi 或者基站获取用户当前位置。71 public class LocationManager extends Activity 72 private LocationManagerProxy locationManager = null;73 private static final long mLocati

10、onUpdateMinTime = 0;74 private static final float mLocationUpdateMinDistance = 0;75 private TextView myLocation;76 /* Called when the activity is first created. */ 77 Override 78 public void onCreate(Bundle savedInstanceState) 79 super.onCreate(savedInstanceState);80 setContentView(R.layout.location

11、);81 myLocation = (TextView) findViewById(R.id.myLocation);82 locationManager = LocationManagerProxy.getInstance(this);83 84 Override 85 protected void onPause() 86 / TODO Auto-generated method stub 87 super.onPause();88 locationManager.removeUpdates(locationListener);89 90 Override 91 protected voi

12、d onResume() 92 / TODO Auto-generated method stub 93 super.onResume();94 /获取当前可用的Provider,其中AMapNetwork 为AMap 网络定位(基站和WiFi) 95 for (final String provider : locationManager.getProviders(true) 96 if (LocationManagerProxy.GPS_PROVIDER.equals(provider)|LocationProviderProxy.AMapNetwork.equals(provider)

13、97 locationManager.requestLocationUpdates(provider, mLocationUpdateMinTime, mLocationUpdateMinDistance, 98 locationListener);99 100 101 102 LocationListener locationListener = new LocationListener() 103 Override 104 public void onLocationChanged(Location location) 105 / TODO Auto-generated method st

14、ub 106 if (location != null) 107 Double geoLat = location.getLatitude();108 Double geoLng = location.getLongitude();109 myLocation.setText(定位成功:( + geoLng + , + geoLat + );110 111 112 Override 113 public void onProviderDisabled(String provider) 114 115 Override 116 public void onProviderEnabled(Stri

15、ng provider) 117 118 Override 119 public void onStatusChanged(String provider, int status, Bundle extras) 120 121 ;122 如何通过MyLocationOverlay 实现自动定位首先在程序中打开相关权限,然后将MyLocationOverlay 实例添加到MapView 中,并调用enableMyLocation()方法,即可实现当前位置的显示。如果想让地图跟随当前位置移动,需要继承MyLocationOverlay 并实现其onLocationChanged()方法,调用Map

16、View.getController().animateTo()方法移动地图位置。123 MyLocationOverlay mylocTest = new MyLocationOverlay(MylocationDemo.this, map);124 mylocTest.enableMyLocation();125 mylocTest.enableCompass(); / 打开指南针 126 map.getOverlays().add(mylocTest);结果见 图 4-1 自动定位图 :图4-1 自动定位图地图图层地图图层概念地图可以包含一个或多个图层,每个图层在各个级别都是由若干张图块

17、组成的,它们覆盖了地球的整个表面。例如,用户所看到包括街道、兴趣点、学校、公园等内容的地图展现就是一个图层,另外,实时路况、轨道交通等的展现也是通过图层来实现的。底图基本的地图图层,包括若干个缩放级别,显示基本的地图信息,包括道路、街道、学校、公园等内容。实时路况高德地图提供北京,上海,广州,深圳,天津,重庆,沈阳,长春,石家庄,太原,西安,成都,武汉,南京,杭州,福州,青岛,大连,宁波,无锡,常州,厦门,东莞,珠海等24个城市的实时交通路况查询。在地图中显示路况信息息示例如下:127 mMapView.setTraffic(true);/显示实时路况 运行程序,结果见图5-1 实时路况效果图

18、:地图覆盖物概述所有叠加或覆盖到地图的内容,统称为地图覆盖物。如标注、矢量图形元素(包括:折线和多边形和圆)、定位图标等。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。高德地图Android API 提供了如下几种覆盖物:Overlay:覆盖物的抽象基类,所有的覆盖物均继承此类的方法,实现用户自定义图层显示。MyLocationOverlay:一个负责显示用户当前位置的Overlay。ItemizedOverlay:Overlay 的一个基类,包含了一个OverlayItem 列表,相当于一组分条的Overlay,通过继承此类,将一组兴趣点显示在地图上。PoiOverlay

19、:本地搜索图层,提供某一特定地区的位置搜索服务,比如在北京市搜索“天安门”,通过此图层将包含“天安门”关键字的标注显示在地图上。RouteOverlay:公交,驾车导航线路图层,将公交、驾车出行方案的路线及关键点显示在地图上。覆盖物的抽象基类(Overlay)一般来说,在MapView 中添加一个Overlay 需要经过以下步骤:自定义类继承Overlay,并Override 其draw()方法可以实现点,线,面等的显示,如果需要点击、按键、触摸等交互操作,还需Override onTap()等方法。添加到MapView 的覆盖物中:128 publicclass MyOverlay exte

20、nds Overlay 129 Override 130 public void draw(Canvas canvas, MapView mapView, boolean shadow) 131 / TODO Auto-generated method stub 132 super.draw(canvas, mapView, shadow);133 Point screenPts = new Point();134 mapView.getProjection().toPixels(point, screenPts);135 /-add the marker- 136 Bitmap bmp =

21、BitmapFactory.decodeResource( 137 getResources(), R.drawable.da_marker_red);138 canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null);139 Paint paintText = new Paint();140 paintText.setTextSize(18);141 paintText.setColor(Color.BLACK);142 canvas.drawText(AMap, screenPts.x, screenPts.y, paintText)

22、; / 绘制文本 143 Paint mCirclePaint = new Paint();144 mCirclePaint.setAntiAlias(true);145 mCirclePaint.setColor(Color.BLUE);146 mCirclePaint.setAlpha(50);147 mCirclePaint.setStyle(Style.FILL);148 canvas.drawCircle(screenPts.x+150, screenPts.y, 50, mCirclePaint);149 Paint paintLine = new Paint();150 pain

23、tLine.setColor(Color.RED);151 paintLine.setStrokeWidth(3.0f);152 paintLine.setStyle(Paint.Style.STROKE);153 canvas.drawLine(screenPts.x-100, screenPts.y, screenPts.x, screenPts.y-200, paintLine);154 155 Override 156 public boolean onTap(GeoPoint arg0, MapView arg1) 157 / TODO Auto-generated method s

24、tub 158 return super.onTap(arg0, arg1);159 160 添加到MapView 的覆盖物中:161 mMapView.getOverlays().add(new MyOverlay();运行结果见图 6-1 覆盖物效果图:当前位置(MyLocationOverlay)将MyLocationOverlay 添加到覆盖物中,能够实现在地图上显示当前位置的图标以及指南针:162 MyLocationOverlay mylocTest = new MyLocationOverlay(MylocationDemo.this, map);163 mylocTest.en

25、ableMyLocation();164 mylocTest.enableCompass(); / 打开指南针 165 map.getOverlays().add(mylocTest);运行结果 见图 6-2 当前位置效果图 :图6-2 当前位置效果图分条目覆盖物(ItemizedOverlay)某个类型的覆盖物,包含多个类型相同、显示方式相同、处理方式相同的项时,使用此类:自定义类继承ItemizedOverlay,并Override 其draw() 方法,如果需要点击、按键、触摸等交互操作,还需Override onTap() 等方法。166 class OverItemT extends ItemizedOverlay 167 private List GeoList = new ArrayList();168 private Drawable marker;169 private Context mContext;170 private double mLat1 = 39.9022; / point1 纬度 171 private double mLon1 = 116.3922; / point1 经度 1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1