您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 高德android_api_开发指南
API简介什么是高德地图AndroidAPI?高德地图AndroidAPI版是一套基于Android1.6及以上设备的应用程序接口,通过该接口,用户可以轻松访问高德地图服务和数据,构建功能丰富、交互性强的地图应用程序。高德地图AndroidAPI不仅包含构建地图的基本接口,还提供了诸如矢量地图、栅格地图、地图定位(GPS、基站、WiFi)、本地搜索、路线规划等数据服务,用户可以根据自己的需要进行选择。面向的读者本API是提供给具有一定Android编程经验和了解面向对象概念的读者使用的。此外,读者还应该对地图产品有一定的了解。用户在使用中遇到任何问题,可以通过问答社区反馈给我们。兼容性系统:支持Android1.6及以上系统。注意事项下面介绍在程序开发中需注意的问题:必须在manifest中设置相应的权限,代码如下:源码复制打印关于uses-permissionandroid:name=android.permission.ACCESS_COARSE_LOCATION/uses-permissionuses-permissionandroid:name=android.permission.ACCESS_FINE_LOCATION/uses-permissionuses-permissionandroid:name=android.permission.INTERNET/uses-permissionuses-permissionandroid:name=android.permission.ACCESS_NETWORK_STATE/uses-permissionuses-permissionandroid:name=android.permission.WRITE_EXTERNAL_STORAGE/uses-permissionuses-permissionandroid:name=android.permission.READ_PHONE_STATE/uses-permissionuses-permissionandroid:name=android.permission.CHANGE_WIFI_STATE/uses-permissionuses-permissionandroid:name=android.permission.ACCESS_WIFI_STATE/uses-permission地图显示如何把API添加到我的Android工程中?首先创建工程,并在工程BuildPathConfigureBuildPath…libraries中选择“AddExternelJARs…”,选定MapApi.jar,点击OK,这样就可以将高德地图AndroidAPI库文件引入。然后在工程BuildPathConfigureBuildPath…OrderandExport中将引入的库文件MapApi.jar选中,点击OK,这样您就可以在您的程序中使用高德地图API了。栅格地图显示MapActivity是一个抽象类,任何想要显示MapView的activity都需要派生自MapActivity。并且在其派生类的onCreate()中,都要创建一个MapView实例。源码复制打印关于publicclassGridMapViewextendsMapActivity{privateMapViewmMapView;privateMapControllermMapController;privateGeoPointpoint;@Override/***显示栅格地图,启用内置缩放控件,并用MapController控制地图的中心点及Zoom级别*/protectedvoidonCreate(BundlesavedInstanceState){//TODOAuto-generatedmethodstubsuper.onCreate(savedInstanceState);setContentView(R.layout.mapview);mMapView=(MapView)findViewById(R.id.mapView);mMapView.setBuiltInZoomControls(true);//设置启用内置的缩放控件mMapController=mMapView.getController();//得到mMapView的控制权,可以用它控制和驱动平移和缩放point=newGeoPoint((int)(39.982378*1E6),(int)(116.304923*1E6));//用给定的经纬度构造一个GeoPoint,单位是微度(度*1E6)mMapController.setCenter(point);//设置地图中心点mMapController.setZoom(12);//设置地图zoom级别}}在布局xml中添加地图控件:源码复制打印关于?xmlversion=1.0encoding=utf-8?LinearLayoutxmlns:android=xmlns:autonavi=android:orientation=verticalandroid:layout_width=fill_parentandroid:layout_height=fill_parentcom.amap.mapapi.map.MapViewandroid:id=@+id/mapViewandroid:layout_width=fill_parentandroid:layout_height=fill_parentandroid:clickable=true//LinearLayout结果见图3-1栅格地图显示效果图:图3-1栅格地图显示效果图矢量地图显示将libminimapv320.so复制到工程目录下的libs\armeabi,目录结构见图3-2工程目录结构图:图3-2工程目录结构图代码如下:源码复制打印关于publicclassVectorMapViewextendsMapActivity{privateMapViewmMapView;privateMapControllermMapController;privateGeoPointpoint;@Override/***显示矢量地图,将libminimapv300.so复制到工程目录下的libs\armeabi。*启用内置缩放控件,并用MapController控制地图的中心点及Zoom级别*/protectedvoidonCreate(BundlesavedInstanceState){//TODOAuto-generatedmethodstubthis.setMapMode(MAP_MODE_VECTOR);//设置地图为矢量模式super.onCreate(savedInstanceState);setContentView(R.layout.mapview);mMapView=(MapView)findViewById(R.id.mapView);mMapView.setBuiltInZoomControls(true);//设置启用内置的缩放控件mMapController=mMapView.getController();//得到mMapView的控制权,可以用它控制和驱动平移和缩放point=newGeoPoint((int)(39.90923*1E6),(int)(116.397428*1E6));//用给定的经纬度构造一个GeoPoint,单位是微度(度*1E6)mMapController.setCenter(point);//设置地图中心点mMapController.setZoom(12);//设置地图zoom级别}}结果见图3-3矢量地图显示效果图:图3-3矢量地图显示效果图定位信息API如何获取定位信息高德地图AndroidAPI中提供了GPS和网络(基站和WiFi)定位。如果使用此功能,必须注册GPS和网络的使用权限,请参考注意事项。在获取用户位置时,优先使用GPS进行定位;如果GPS定位没有打开或者没有可用位置信息,则判断是否通过网络(基站和WiFi)连接,如果是,高德地图会根据手机所在环境选择WiFi或者基站获取用户当前位置。源码复制打印关于publicclassLocationManagerextendsActivity{privateLocationManagerProxylocationManager=null;privatestaticfinallongmLocationUpdateMinTime=0;privatestaticfinalfloatmLocationUpdateMinDistance=0;privateTextViewmyLocation;/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.location);myLocation=(TextView)findViewById(R.id.myLocation);locationManager=LocationManagerProxy.getInstance(this);}@OverrideprotectedvoidonPause(){//TODOAuto-generatedmethodstubsuper.onPause();locationManager.removeUpdates(locationListener);}@OverrideprotectedvoidonResume(){//TODOAuto-generatedmethodstubsuper.onResume();//获取当前可用的Provider,其中AMapNetwork为AMap网络定位(基站和WiFi)for(finalStringprovider:locationManager.getProviders(true)){if(LocationManagerProxy.GPS_PROVIDER.equals(provider)||LocationProviderProxy.AMapNetwork.equals(provider)){locationManager.requestLocationUpdates(provider,mLocationUpdateMinTime,mLocationUpdateMinDistance,locationListener);}}}LocationListenerlocationListener=newLocationListener(){@OverridepublicvoidonLocationChanged(Locationlocation){//TODOAuto-generatedmethodstubif(location!=null){Doubl
本文标题:高德android_api_开发指南
链接地址:https://www.777doc.com/doc-1951002 .html