Android百度地图开发 百度地图得到当前位置

来源:互联网 发布:网络诈骗报警电话1245 编辑:程序博客网 时间:2024/05/23 23:50

1.申请key
2.复制jar,以及.so 。注意要Libs目录右键build path -> use as source folder(这是一个坑)
3.

AndroidMainFast.xml<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="baidumapsdk.demo"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="21" />    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <meta-data            android:name="com.baidu.lbsapi.API_KEY"            android:value="DIblqjAonlrA2VKdEGMPsUX1" />        <activity            android:name=".MainActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <service            android:name="com.baidu.location.f"            android:enabled="true"            android:process=":remote" >        </service>    </application>    <permission android:name="android.permission.BAIDU_LOCATION_SERVICE" >    </permission>    <uses-permission android:name="android.permission.BAIDU_LOCATION_SERVICE" >    </uses-permission>    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >    </uses-permission>    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" >    </uses-permission>    <uses-permission android:name="android.permission.INTERNET" >    </uses-permission>    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" >    </uses-permission>    <!-- <uses-permission android:name="android.permission.WRITE_APN_SETTINGS"></uses-permission> -->    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" >    </uses-permission>    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />    <uses-permission android:name="android.permission.WAKE_LOCK" >    </uses-permission>    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />    <uses-permission android:name="android.permission.ACCESS_GPS" />    <uses-permission android:name="android.permission.READ_PHONE_STATE" />    <uses-permission android:name="android.permission.READ_CONTACTS" />    <uses-permission android:name="android.permission.CALL_PHONE" />    <uses-permission android:name="android.permission.READ_SMS" />    <uses-permission android:name="android.permission.SEND_SMS" />    <!-- SDK1.5需要android.permission.GET_TASKS权限判断本程序是否为当前运行的应用? -->    <uses-permission android:name="android.permission.GET_TASKS" />    <uses-permission android:name="android.permission.CAMERA" >    </uses-permission>    <uses-permission android:name="android.permission.RECORD_AUDIO" >    </uses-permission>    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >    </uses-permission>    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />    <uses-permission android:name="android.permission.BROADCAST_STICKY" />    <uses-permission android:name="android.permission.WRITE_SETTINGS" />    <!-- 来电消音 -->    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" >    </uses-permission>    <uses-permission android:name="android.permission.READ_PHONE_STATE" />    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />    <supports-screens        android:anyDensity="true"        android:largeScreens="true"        android:normalScreens="false"        android:resizeable="true"        android:smallScreens="true" /></manifest>
主activitypackage baidumapsdk.demo;import com.baidu.location.BDLocation;import com.baidu.location.BDLocationListener;import com.baidu.location.LocationClient;import com.baidu.location.LocationClientOption;import com.baidu.mapapi.SDKInitializer;import com.baidu.mapapi.map.BitmapDescriptor;import com.baidu.mapapi.map.MapStatusUpdate;import com.baidu.mapapi.map.MapStatusUpdateFactory;import com.baidu.mapapi.map.MapView;import com.baidu.mapapi.map.MyLocationConfiguration.LocationMode;import com.baidu.mapapi.map.MyLocationData;import com.baidu.mapapi.model.LatLng;import android.app.Activity;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.graphics.Color;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.Menu;import android.view.MenuItem;import android.widget.TextView;public class MainActivity extends Activity {    // 定位相关        LocationClient mLocClient;        private LocationMode mCurrentMode;        BitmapDescriptor mCurrentMarker;        public MyLocationListenner myListener;        private TextView text;        private Handler handler=new Handler(){            public void handleMessage(android.os.Message msg) {                switch (msg.what) {                case 1:                    text.setText((String) msg.obj);                    break;                default:                    break;                }            };        };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        text = (TextView) findViewById(R.id.tv);        myListener = new MyLocationListenner();                     // 定位初始化                mLocClient = new LocationClient(this);                mLocClient.registerLocationListener(myListener);                LocationClientOption option = new LocationClientOption();                option.setOpenGps(true);// 打开gps                option.setCoorType("bd09ll"); // 设置坐标类型                option.setScanSpan(1000);                //这个要写                option.setAddrType("all");//              option.setIsNeedAddress(true);//            option.setIsNeedAddress(true);                mLocClient.setLocOption(option);                mLocClient.start();    }    /**     * 定位SDK监听函数     */    public class MyLocationListenner implements BDLocationListener {        @Override        public void onReceiveLocation(BDLocation location) {            // map view 销毁后不在处理新接收的位置            if (location == null )                return;            MyLocationData locData = new MyLocationData.Builder()                    .accuracy(location.getRadius())                    // 此处设置开发者获取到的方向信息,顺时针0-360                    .direction(100).latitude(location.getLatitude())                    .longitude(location.getLongitude()).build();                LatLng ll = new LatLng(location.getLatitude(),                        location.getLongitude());                MapStatusUpdate u = MapStatusUpdateFactory.newLatLng(ll);            //北京市sdafasdfaslfjslakdfkl复兴门外大街--北京市西城区复兴门外大街6-2号---6-2号             //打出來就是這個。看到了嗎             System.out.println(location.getCity()+"sdafasdfaslfjslakdfkl"+location.getStreet()+"--"+location.getAddrStr()+"---"+location.getStreetNumber());            Message msg=Message.obtain();            msg.what=1;            msg.obj=location.getAddrStr();            handler.sendMessage(msg);            mLocClient.stop();        }        public void onReceivePoi(BDLocation poiLocation) {        }    }    @Override    protected void onPause() {        super.onPause();    }    @Override    protected void onResume() {        super.onResume();    }    @Override    protected void onDestroy() {        // 退出时销毁定位        mLocClient.stop();        // 关闭定位图层        super.onDestroy();    }}
activity.xml<RelativeLayout xmlns: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"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="baidumapsdk.demo.MainActivity" >    <TextView        android:id="@+id/tv"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/hello_world" /></RelativeLayout>
0 0
原创粉丝点击