安卓百度地图SDK使用笔记(一)

2016-11-02  本文已影响0人  沈Robbie
  1. 下载SDK
Paste_Image.png

2.创建应用

Paste_Image.png Paste_Image.png

SHA1位于eclipse->window->Preference->Android->Build

Paste_Image.png
  1. 配置环境
Paste_Image.png

4.添加权限和<meta-data>

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
 <meta-data  
        android:name="com.baidu.lbsapi.API_KEY"  
        android:value="开发者 key" /> 

5.activity_main文件
activity_main:

<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" >

   <com.baidu.mapapi.map.MapView  
    android:id="@+id/bmapView"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:clickable="true" />

</RelativeLayout>

menu->main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.sjy.baidumap.MainActivity" >

    <item
        android:id="@+id/id_map_commen"
        android:title="普通地图"
        app:showAsAction="never"/>
    <item
        android:id="@+id/id_map_site"
        android:title="卫星地图"
        app:showAsAction="never"/>
    <item
        android:id="@+id/id_map_traffic"
        android:title="实时交通(off)"
        app:showAsAction="never"/>
    

</menu>

6.MainActivity

package com.sjy.baidumap;

import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.Window;

public class MainActivity extends Activity {
    private MapView mMapView = null;
    private BaiduMap mBaiduMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        // 在使用SDK各组件之前初始化context信息,传入ApplicationContext
        // 注意该方法要再setContentView方法之前实现
        SDKInitializer.initialize(getApplicationContext());
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        mMapView = (MapView) findViewById(R.id.bmapView);
        mBaiduMap = mMapView.getMap();
        MapStatusUpdate mapStatusUpdate = MapStatusUpdateFactory.zoomTo(15.0f);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        // 在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
        mMapView.onDestroy();
    }

    @Override
    protected void onResume() {
        super.onResume();
        // 在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
        mMapView.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
        // 在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
        mMapView.onPause();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // TODO Auto-generated method stub
        getMenuInflater().inflate(R.menu.main, menu);
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {
        case R.id.id_map_commen:
            mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
            break;
        case R.id.id_map_site:
            mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
            break;
        case R.id.id_map_traffic:
            if(mBaiduMap.isTrafficEnabled()) {
                mBaiduMap.setTrafficEnabled(false);
                item.setTitle("实时交通(off)");
            }else {
                mBaiduMap.setTrafficEnabled(true);
                item.setTitle("实时交通(on)");
            }
            break;
            

        }
        return super.onOptionsItemSelected(item);
    }
}

上一篇下一篇

猜你喜欢

热点阅读