44 Android百度地图使用 - 雪炭网

Android百度地图使用 2014-10-12 12:31:53

( 4人已投票,[高质量] )
分享:
31.3K

应用前注意一下版本,这篇文章是从CSDN搬过来的,是一篇本人写于两年前的文章,如果当前的版本方法有问题,就姑且看个流程,反正内容都是大同小异,无非就那点事,最权威的调用方式,请查阅百度官方文档。


测了下百度地图,发现网上都给出了比较清晰的答案,但对于百度jar包调用这块还是容易犯错误

一旦出错,运行调试困难,报的错误仅仅是无法启动activity,这种情况一定要查看jar包是否正确引用

特此将开发步骤与jar的引用说明一下:


1步:下载jar包,两个文件一个jar一个so文件

http://developer.baidu.com/map/sdkandev-download.htm

//右下角有个"lib库"


2步:工程内引入库,将so文件放在工程的libs/armeabi 下面 

//没有请新建文件夹

将jar文件放入libs下面


3步修改配置属性

选择工程右键属性->java bulid path->libraries->add jars选择你的工程内libs下的jar(上步放入的) 

OK就完成了包的引用


4步:给manifest添加权限(很重要)

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" />


5步:布局layout 之 main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
<com.baidu.mapapi.MapView android:id="@+id/map_View" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:clickable="true" 
/> 
</LinearLayout>




6步:开发百度地图,需要申请个Key

操作很简单,只需几秒钟时间即可完成。

http://developer.baidu.com/map/android-mobile-apply-key.htm


7步:示例mainActivity

public class MainActivity extends MapActivity { 
  private BMapManager mapManager; 
  private MapView mapView; 
  private MapController mapController; 
                                                                                  
  @Override 
  public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
                                                                                  
    // init
    mapManager = new BMapManager(getApplication()); 
                                                                                    
    mapManager.init("285B415EBAB2A92293E85502150ADA7F03C777C4", null); //your API key
    super.initMapActivity(mapManager); 
                                                                                  
    mapView = (MapView) findViewById(R.id.map_View); 
    // 设置地图模式为交通地图 
    mapView.setTraffic(true); 
    // 设置启用内置的缩放控件 
    mapView.setBuiltInZoomControls(true); 
                                                                                  
    // 用经纬度初始化中心点
    GeoPoint point = new GeoPoint((int) (47.118440 * 1E6), (int) (87.493147 * 1E6)); 
                                                                                  
    // 创建标记maker //有一个标注图片,没有上百度找一张,drawable里
    Drawable marker = this.getResources().getDrawable(R.drawable.iconmarka); 
    // 为maker定义位置和边界 
    marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight()); 
                                                                                  
    // 取得地图控制器对象,用于控制MapView 
    mapController = mapView.getController(); 
    // 设置地图的中心 
    mapController.setCenter(point); 
    // 设置地图默认的缩放级别 
    mapController.setZoom(12); 
  } 
                                                                                  
  @Override 
  protected boolean isRouteDisplayed() { 
    return false; 
  } 
                                                                                  
  @Override 
  protected void onDestroy() { 
    if (mapManager != null) { 
      mapManager.destroy(); 
      mapManager = null; 
    } 
    super.onDestroy(); 
  } 
                                                                                  
  @Override 
  protected void onPause() { 
    if (mapManager != null) { 
      mapManager.stop(); 
    } 
    super.onPause(); 
  } 
                                                                                  
  @Override 
  protected void onResume() { 
    if (mapManager != null) { 
      mapManager.start(); 
    } 
    super.onResume(); 
  } 
}


以上即可简单实现百度地图调用(已测试)







头像

snowcoal
  • Android
  • 百度地图

本文标签:

Android百度地图

收藏到我的私密空间

标题:Android百度地图使用

作者:花花世界

你暂未登录,请登录后才可收藏至您的私密空间 确认取消
雪炭网

键盘操作 更便捷 -雪炭网雪中送炭-乐趣无限

如果本站的内容有幸帮助到了您,建议您了解一下当页的广告内容哦,我们的进步离不开您的支持,Thank you~