博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
百度api开发小试牛刀
阅读量:6806 次
发布时间:2019-06-26

本文共 3773 字,大约阅读时间需要 12 分钟。

hot3.png

Hello World

首先在工程里新建libs文件夹,并API开发包里的baidumapapi.jar拷贝到libs根目录下,将libBMapApiEngine.so拷贝到libs\armeabi目录下。官网demo里已有这两个文件,如果要集成到自己的工程里,就需要自己添加。然后在工程属性->Java Build Path->Libraries中选择“Add External JARs”,选定baidumapapi.jar,确定后返回,这样您就可以在您的程序中使用API了。

在Manifest中添加使用权限

1. 
2. 
3. 
4. 
5. 
6. 
7. 

在Manifest中添加Android版本支持

1. 
2.  android:normalScreens="true" android:smallScreens="true"
3.  android:resizeable="true" android:anyDensity="true"/>
4. 

 让创建的地图Activity继承com.baidu.mapapi.MapActivity, 并import相关类

1. import java.util.ArrayList;
2. import java.util.List;
3.
4. import android.content.Context;
5. import android.graphics.Canvas;
6. import android.graphics.Paint;
7. import android.graphics.Point;
8. import android.graphics.drawable.Drawable;
9. import android.location.Location;
10. import android.os.Bundle;
11. import android.util.Log;
12. import android.view.View;
13. import android.widget.Toast;
14.
15. import com.baidu.mapapi.BMapManager;
16. import com.baidu.mapapi.GeoPoint;
17. import com.baidu.mapapi.ItemizedOverlay;
18. import com.baidu.mapapi.LocationListener;
19. import com.baidu.mapapi.MKAddrInfo;
20. import com.baidu.mapapi.MKDrivingRouteResult;
21. import com.baidu.mapapi.MKGeneralListener;
22. import com.baidu.mapapi.MKLocationManager;
23. import com.baidu.mapapi.MKPlanNode;
24. import com.baidu.mapapi.MKPoiResult;
25. import com.baidu.mapapi.MKSearch;
26. import com.baidu.mapapi.MKSearchListener;
27. import com.baidu.mapapi.MKTransitRouteResult;
28. import com.baidu.mapapi.MKWalkingRouteResult;
29. import com.baidu.mapapi.MKSuggestionResult;
30. import com.baidu.mapapi.MapActivity;
31. import com.baidu.mapapi.MapController;
32. import com.baidu.mapapi.MapView;
33. import com.baidu.mapapi.MyLocationOverlay;
34. import com.baidu.mapapi.Overlay;
35. import com.baidu.mapapi.OverlayItem;
36. import com.baidu.mapapi.PoiOverlay;
37. import com.baidu.mapapi.RouteOverlay;
38. import com.baidu.mapapi.TransitOverlay;
39.
40. public class MyMapActivity extends MapActivity {
41.  @Override
42.  public void onCreate(Bundle savedInstanceState) {
43.  super.onCreate(savedInstanceState);
44.  setContentView(R.layout.main);
45.  }
46.
47.  @Override
48.  protected boolean isRouteDisplayed() {
49.  return false;
50.  }
51. }

在布局xml中添加地图控件

1. 
2. 
3.  android:orientation="vertical" android:layout_width="fill_parent"
4.  android:layout_height="fill_parent">
5.  
6.  android:layout_height="wrap_content" android:text="@string/hello" />
7.  
8.  android:layout_width="fill_parent" android:layout_height="fill_parent"
9.  android:clickable="true" />
10. 

初始化地图Activity/使用key

在地图Activity中定义变量: BMapManager mBMapMan = null; 在onCreate方法中增加以下代码,并将您申请的Key替换“我的Key”:

1. mBMapMan = new BMapManager(getApplication());
2. mBMapMan.init("我的Key", null);
3. super.initMapActivity(mBMapMan);
4.
5. MapView mMapView = (MapView) findViewById(R.id.bmapsView);
6. mMapView.setBuiltInZoomControls(true); //设置启用内置的缩放控件
7.
8. MapController mMapController = mMapView.getController(); // 得到mMapView的控制权,可以用它控制和驱动平移和缩放
9. GeoPoint point = new GeoPoint((int) (39.915 * 1E6),
10.  (int) (116.404 * 1E6)); //用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)
11. mMapController.setCenter(point); //设置地图中心点
12. mMapController.setZoom(12); //设置地图zoom级别

Override以下方法,管理API:

1. @Override
2. protected void onDestroy() {
3.  if (mBMapMan != null) {
4.  mBMapMan.destroy();
5.  mBMapMan = null;
6.  }
7.  super.onDestroy();
8. }
9. @Override
10. protected void onPause() {
11.  if (mBMapMan != null) {
12.  mBMapMan.stop();
13.  }
14.  super.onPause();
15. }
16. @Override
17. protected void onResume() {
18.  if (mBMapMan != null) {
19.  mBMapMan.start();
20.  }
21.  super.onResume();
22. }

完成上述步骤后,运行程序,结果如下:

转载于:https://my.oschina.net/u/553254/blog/108640

你可能感兴趣的文章
Redis Keys 命令 - 查找所有符合给定模式( pattern)的 key
查看>>
canvas绘图,html5 k线图,股票行情图
查看>>
【WPF】C#代码动态添加控件的Margin属性
查看>>
redis info 参数详解
查看>>
UITableView刷新数据reLoadData
查看>>
基础太差了
查看>>
高性能服务器负载均衡的一个可行方案
查看>>
CSS布局
查看>>
按钮模式来自官方的 windows 7 快捷键大全
查看>>
《JAVA与模式》之单例模式(转载)
查看>>
ajax中的异步机制导致的问题
查看>>
java质数判断
查看>>
Android JNI和NDK学习(03)--动态方式实现JNI(转)
查看>>
如何提升你的面试机会?
查看>>
如何在Kubernetes部署期间正确处理DB模式
查看>>
甲骨文11.9亿美元收云解决方案供应商Aconex,预计明年上半年完成
查看>>
Python 做图片清晰度识别
查看>>
硬核NeruIPS 2018最佳论文,一个神经了的常微分方程
查看>>
个推Node.js 微服务实践:基于容器的一站式命令行工具链
查看>>
Express源码学习-路由篇
查看>>