Android百度地图定位
来源:互联网 发布:java cms开源系统源码 编辑:程序博客网 时间:2024/04/28 14:08
参考:http://blog.csdn.net/binyao02123202/article/details/7583244
http://developer.baidu.com/map/sdk-android.htm
第一步:获取一个针对自己项目的key值。http://dev.baidu.com/wiki/static/imap/key/
我的key为:01BE364003B456360DDC578D178898F59EC8A20B
第二步:首先将API包括的两个文件baidumapapi.jar和libBMapApiEngine.so拷贝到工程根目录及libs\armeabi目录下,并在工程属性->Java Build Path->Libraries中选择“Add JARs”,选定baidumapapi.jar,确定后返回,这样您就可以在您的程序中使用API了。
例子1:显示百度地图
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 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" /></LinearLayout>
package com.baidu.mapapi.demo;import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.MapActivity;import com.baidu.mapapi.MapView;import android.os.Bundle;import android.util.Log;public class MapViewDemo extends MapActivity {protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.mapviewdemo); BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication();if (app.mBMapMan == null) {app.mBMapMan = new BMapManager(getApplication());app.mBMapMan.init(app.mStrKey, new BMapApiDemoApp.MyGeneralListener());}app.mBMapMan.start(); // 如果使用地图SDK,请初始化地图Activitylong iTime = System.nanoTime(); super.initMapActivity(app.mBMapMan); iTime = System.nanoTime() - iTime; Log.d("MapViewDemo", "the init time is " + iTime); MapView mapView = (MapView)findViewById(R.id.bmapView); mapView.setBuiltInZoomControls(true); //mapView.setDoubleClickZooming(false); //mapView.setTraffic(true);}@Overrideprotected void onPause() {BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication();if(app.mBMapMan != null )app.mBMapMan.stop();super.onPause();}@Overrideprotected void onResume() {BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication();app.mBMapMan.start();super.onResume();}@Overrideprotected boolean isRouteDisplayed() {// TODO Auto-generated method stubreturn false;}// @Override// protected void onDestroy() {//// BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication();//if (app.mBMapMan != null) {//app.mBMapMan.destroy();//app.mBMapMan = null;//}//super.onDestroy();// }}
例2:查找公交路线
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="在" /> <EditText android:id="@+id/city" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="北京" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="市内找" /> <EditText android:id="@+id/searchkey" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="717" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/str_id_bus" /> <Button android:id="@+id/search" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/str_id_start" /> </LinearLayout> <com.baidu.mapapi.MapView android:id="@+id/bmapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" /></LinearLayout>
package com.baidu.mapapi.demo;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.MKAddrInfo;import com.baidu.mapapi.MKBusLineResult;import com.baidu.mapapi.MKDrivingRouteResult;import com.baidu.mapapi.MKPoiInfo;import com.baidu.mapapi.MKPoiResult;import com.baidu.mapapi.MKSearch;import com.baidu.mapapi.MKSearchListener;import com.baidu.mapapi.MKSuggestionResult;import com.baidu.mapapi.MKTransitRouteResult;import com.baidu.mapapi.MKWalkingRouteResult;import com.baidu.mapapi.MapActivity;import com.baidu.mapapi.MapView;import com.baidu.mapapi.RouteOverlay;import com.baidu.mapapi.demo.R;public class BusLineSearch extends MapActivity {Button mBtnSearch = null;// 搜索按钮MapView mMapView = null;// 地图ViewMKSearch mSearch = null;// 搜索模块,也可去掉地图模块独立使用String mCityName = null;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.buslinesearch); BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication();if (app.mBMapMan == null) {app.mBMapMan = new BMapManager(getApplication());app.mBMapMan.init(app.mStrKey, new BMapApiDemoApp.MyGeneralListener());}app.mBMapMan.start(); // 如果使用地图SDK,请初始化地图Activity super.initMapActivity(app.mBMapMan); mMapView = (MapView)findViewById(R.id.bmapView); mMapView.setBuiltInZoomControls(true); //设置在缩放动画过程中也显示overlay,默认为不绘制 mMapView.setDrawOverlayWhenZooming(true); // 初始化搜索模块,注册事件监听 mSearch = new MKSearch(); mSearch.init(app.mBMapMan, new MKSearchListener(){public void onGetPoiResult(MKPoiResult res, int type, int error) {// 错误号可参考MKEvent中的定义if (error != 0 || res == null) {Toast.makeText(BusLineSearch.this, "抱歉,未找到结果", Toast.LENGTH_LONG).show();return; }// 找到公交路线poi node MKPoiInfo curPoi = null; int totalPoiNum = res.getNumPois();for( int idx = 0; idx < totalPoiNum; idx++ ) {Log.d("busline", "the busline is " + idx); curPoi = res.getPoi(idx); if ( 2 == curPoi.ePoiType ) { break; }}mSearch.busLineSearch(mCityName, curPoi.uid);}public void onGetDrivingRouteResult(MKDrivingRouteResult res,int error) {}public void onGetTransitRouteResult(MKTransitRouteResult res,int error) {}public void onGetWalkingRouteResult(MKWalkingRouteResult res,int error) {}public void onGetAddrResult(MKAddrInfo res, int error) {}public void onGetBusDetailResult(MKBusLineResult result, int iError) {if (iError != 0 || result == null) {Toast.makeText(BusLineSearch.this, "抱歉,未找到结果", Toast.LENGTH_LONG).show();return; }RouteOverlay routeOverlay = new RouteOverlay(BusLineSearch.this, mMapView); // 此处仅展示一个方案作为示例 routeOverlay.setData(result.getBusRoute()); mMapView.getOverlays().clear(); mMapView.getOverlays().add(routeOverlay); mMapView.invalidate(); mMapView.getController().animateTo(result.getBusRoute().getStart());}@Overridepublic void onGetSuggestionResult(MKSuggestionResult res, int arg1) {// TODO Auto-generated method stub} }); // 设定搜索按钮的响应 mBtnSearch = (Button)findViewById(R.id.search); OnClickListener clickListener = new OnClickListener(){public void onClick(View v) {SearchButtonProcess(v);} }; mBtnSearch.setOnClickListener(clickListener); }void SearchButtonProcess(View v) {if (mBtnSearch.equals(v)) {EditText editCity = (EditText)findViewById(R.id.city);EditText editSearchKey = (EditText)findViewById(R.id.searchkey);mCityName = editCity.getText().toString(); mSearch.poiSearchInCity(mCityName, editSearchKey.getText().toString());}}@Overrideprotected void onPause() {BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication();app.mBMapMan.stop();super.onPause();}@Overrideprotected void onResume() {BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication();app.mBMapMan.start();super.onResume();}@Overrideprotected boolean isRouteDisplayed() {// TODO Auto-generated method stubreturn false;}}
下载地址为: http://download.csdn.net/detail/niejing654092427/5052395
- Android 百度地图 定位
- Android百度地图定位
- Android 百度地图定位
- Android百度地图定位
- Android 百度地图定位
- android 百度地图定位
- Android 百度地图定位
- android百度地图:地图定位
- android 使用百度地图定位
- android 百度地图 定位功能
- Android 百度地图SDK定位
- Android百度地图定位demo
- android 百度地图定位总结
- Android-百度地图-定位功能
- Android 百度地图定位功能
- Android百度地图之定位
- 百度地图定位-android studio
- Android 百度地图简单定位
- algorithm
- Nginx+Tomcat实现反向代理与动静分离
- 关于博客和本人
- GoogleMapsV3-----基础地图(自定义消息提示OverlayView)
- C# 版本更新内容
- Android百度地图定位
- MySQL表字段设置默认值
- 深入浅出Java多线程程序设计
- Struts1.2系列
- GoogleMapsV3-----基础地图(右键菜单)
- 数据结构实验之栈一:进制转换
- MFC的文档视图结构分析
- GoogleMapsV3-----基础地图
- Linux kernel 日志系统printk相关知识