android 地图转二进制,百度地图SDK应用与开发(一)

一、创建应用

2、点击“获取密钥”进入创建应用

5ce83c13dcb4ce589bc25c521a4ccf48.png

这里创建的应用名为“TestBaiduMap”,注意这里安全码的填写,需要“数字签名+;+包名”,使用eclipse开发工具的可以按照 Eclipse->Window->Preference->Android->Build路径获取SHA1数字签名:

654914b04d7f2df0568d71fd4f68e810.png

填写安全码时注意格式和相关包名,这里我们使用了“com.test.baidumap”:

e2839a6f2f8cd97fa4f2f125b92dd96c.png

创建项目成功后显示如下:

d9e68610e7c69e53ff424a942228d619.png

创建项目成功后,需要去“相关下载”里面下载SDK开发包,这里我们暂时下载如下:

e641a99506af4c5497ad72bd2a857ea5.png

解压相关包可以得到如下文件:

fce65f5facff153f3296437d200394b9.png

我们把这些文件拷贝到新建eclipse工程的libs下,这里注意项目的包名必须和创建项目里的包名一致:

f1bca72a40f46a133dfb11cbf0579958.png

注意工程配置,将“访问应用(AK)”配置到AndroidMainfest.xml里,本工程配置如下:

63cc00571559903068fd1f14055a625e.png

二、代码开发

1、功能实现:加载百度地图,设置地图标尺,切换视图(卫星和普通),打开实时交通。

2、实现效果图:

894c5d27e8a5dd585af23121634f4016.png

3、界面实现:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".MainActivity" >

android:id="@+id/bmapView"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:clickable="true" />

3、代码实现:

package com.test.baidumap;

import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

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;

public class MainActivity extends Activity {

private MapView mapView;

private BaiduMap baiduMap;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 在使用SDK各组件之前初始化context信息,传入ApplicationContext

// 注意该方法要再setContentView方法之前实现

SDKInitializer.initialize(getApplicationContext());

// requestWindowFeature(Window.FEATURE_NO_TITLE);// 去除标题

setContentView(R.layout.activity_main);

mapView = (MapView) findViewById(R.id.bmapView);

baiduMap = mapView.getMap();

MapStatusUpdate msu = MapStatusUpdateFactory.zoomTo(15.0f);

baiduMap.setMapStatus(msu);// 设置地图标尺

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case R.id.map_common:

baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);

break;

case R.id.map_site:

baiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);

break;

case R.id.map_traffic:

if (baiduMap.isTrafficEnabled()) {

baiduMap.setTrafficEnabled(false);

item.setTitle("实时交通(off)");

} else {

baiduMap.setTrafficEnabled(true);

item.setTitle("实时交通(on)");

}

break;

}

return super.onOptionsItemSelected(item);

}

@Override

protected void onPause() {

super.onPause();

mapView.onPause();

}

@Override

protected void onResume() {

super.onResume();

mapView.onResume();

}

@Override

protected void onDestroy() {

super.onDestroy();

mapView.onDestroy();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值