Android调用百度地图API实现——实时定位代码 百度api 实时路况实现

为了方便,我特意新建一个Android优秀交流总群,
案例代码加入QQ群:179730949(500人)249919939(1000人)可以下载
MainActivity.class

package yu.hong.map;
import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.GeoPoint;import com.baidu.mapapi.LocationListener;import com.baidu.mapapi.MKGeneralListener;import com.baidu.mapapi.MKLocationManager;import com.baidu.mapapi.MapActivity;import com.baidu.mapapi.MapController;import com.baidu.mapapi.MapView;import com.baidu.mapapi.MyLocationOverlay;import android.location.Location;import android.os.Bundle;import android.view.KeyEvent;import android.view.Menu;import android.view.MenuItem;import android.widget.Toast;
public class MainActivity extends MapActivity {// 初始为于勉庄private double userLongitude = 33.49087222349736 * 1E6;//纬度private double userLatitude = 115.27130064453128 * 1E6;//经度// 添加百度相关控件private MapView mapView;private BMapManager bMapManager;// 加载地图的引擎// 百度地图上的key值private String keyString ="01331AFA954E7E300428A5F0C9C829E0E16F87A3";// 在百度地图上添加一些控件,例如放大、缩小private MapController mapController;private MKLocationManager mLocationManager;
@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 实例化控件mapView = (MapView) this.findViewById(R.id.bmapView);bMapManager = new BMapManager(MainActivity.this);// 必须要加载keybMapManager.init(keyString, new MKGeneralListener() {// key值不正确@Overridepublic void onGetPermissionState(int arg0) {if (arg0 == 300) {Toast.makeText(MainActivity.this, R.string.key_error,Toast.LENGTH_LONG).show();}}//网络出错@Overridepublic void onGetNetworkState(int arg0) {Toast.makeText(MainActivity.this, R.string.net_error,Toast.LENGTH_LONG).show();}});this.initMapActivity(bMapManager);mapView.setBuiltInZoomControls(true);// 表示可以设置缩放功能mapController = mapView.getController();// 初始化Location模块mLocationManager = bMapManager.getLocationManager();// 通过enableProvider和disableProvider方法,选择定位的ProvidermLocationManager.enableProvider(MKLocationManager.MK_NETWORK_PROVIDER);mLocationManager.disableProvider(MKLocationManager.MK_GPS_PROVIDER);//返回手机位置mLocationManager.requestLocationUpdates(locationListener);mLocationManager.setNotifyInternal(5, 2);// 添加定位图层MyLocationOverlay myLocationOverlay = newMyLocationOverlay(this,mapView);myLocationOverlay.enableMyLocation(); // 启用定位myLocationOverlay.enableCompass(); // 启用指南针mapView.getOverlays().add(myLocationOverlay);mapView.setTraffic(true);// 交通地图// mapView.setSatellite(true);// 卫星地图mapController.setZoom(15);// 设置缩放级别mapView.invalidate();// 刷新地图}//获取经度纬度private LocationListener locationListener = newLocationListener() { @Overridepublic void onLocationChanged(Location location) {if (location != null) { userLatitude = location.getLatitude() * 1E6; userLongitude =location.getLongitude() * 1E6; GeoPoint mypoint = newGeoPoint((int)(userLatitude), (int)(userLongitude)); mapView.getController().animateTo(mypoint); }}};// 销毁@Overrideprotected void onDestroy() {super.onDestroy();if (bMapManager != null) {bMapManager.destroy();bMapManager = null;}}
// 停止@Overrideprotected void onPause() {super.onPause();if (bMapManager != null) {mLocationManager.removeUpdates(locationListener);bMapManager.stop();}}
// 重启@Overrideprotected void onResume() {super.onResume();if (bMapManager != null) {bMapManager.start();}}
//@Overrideprotected boolean isRouteDisplayed() {
return false;}
// Menu// 当点击Menu按钮时,调用该方法@Overridepublic boolean onCreateOptionsMenu(Menu menu) {menu.add(0, 1, 1, R.string.exit).setIcon(android.R.drawable.ic_menu_close_clear_cancel);return super.onCreateOptionsMenu(menu);}@Overridepublic boolean onContextItemSelected(MenuItem item) { //选中某个菜单项if (item.getItemId() == 1) {MainActivity.this.finish(); }return super.onOptionsItemSelected(item);}// 返回键 @Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) { finish();}return super.onKeyDown(keyCode, event);}}activity_mainmain.xml
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" >
<!--添加显示百度地图的控件 -->
<com.baidu.mapapi.MapView android:id="@+id/bmapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" tools:context=".MainActivity"/>
</LinearLayout>

AndroidManifest.xml

<manifestxmlns:android="http://schemas.android.com/apk/res/android" package="yu.hong.map" android:versionCode="1" android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="15"/> <!--添加百度地图开发授权--> <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permissionandroid:name="android.permission.INTERNET" /> <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"/> <uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/> <!--添加对屏幕的支持--> <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true"/>
<application android:icon="@drawable/ic_maplauncher" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <actionandroid:name="android.intent.action.MAIN" />
<categoryandroid:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application>
</manifest>


  

爱华网本文地址 » http://www.aihuau.com/a/25101011/60879.html

更多阅读

ios地图线路导航 ios 调用高德地图导航

ios可以调用自带的googlemap实现路径导航,方法非常简单,只需要告诉系统出发点和目的地,代码实现方法如下:[[UIApplicationsharedApplication] openURL:[NSURL URLWithString:[NSStringstring

百度地图离线包怎么下载 百度地图离线包手机版

百度地图离线包怎么下载——简介百度地图是百度推出的手机地图应用,力在为用户提供方便的出行贴士,以及周边公共设施。百度地图在联网时需要一定的数据流量,而很多用户手机数据流量非常宝贵,于是离线地图便起到了作用。百度地图离线包

Android语音识别--RecognizerIntent用法 intent setdata 用法

在网上找了一篇关于Android语音识别的文章,自己慢慢研究。 Android中主要通过RecognizerIntent来实现语音识别,其实代码比较简单,但是如果找不到设置,就会抛出异常ActivityNotFoundException,所以我们需要捕捉这个异常。而且语音识别在模

★我要地图首页 百度地图首页标注

  登录  注册首页  灵图UU  旅游路书  手机地图  地图API  论坛  更多>>',1)">   全国  江西  赣州  南康市[切换城市]                51ditu.com地图加载中100%?51ditu.com - GS(2011)60

声明:《Android调用百度地图API实现——实时定位代码 百度api 实时路况实现》为网友姐拽的有气质分享!如侵犯到您的合法权益请联系我们删除