Android百度地图开发学习笔记(一)之HelloMap地图显示学习心得
2018-01-19 16:26
726 查看
本文介绍一下智能停车场管理系统移动端app,效果图如下,以市面上的停车场应用软件去高仿它的应用机制,大家可以参考一下商用化程度很高的app去模仿学习开发,以他们为目标加速自己的学习过程。我的专业是电子信息工程,如果安卓专业知识介绍有误欢迎大神指正。这里记录一下百度地图开发学习过程。
2.下载SDK开发包 官网根据用户需求不同可以自定义下载SDK包。点击自定义下载SDK包。建议将示例代码也一并下载下来(在以后的介绍中会用到)。
3.在android项目中引用百度SDK 1. 将开发包中的jar包和so文件添加你的工程文件中的libs文件下。
2. 在工程中将相应的jar包Build Path一下。
3 .在AndroidManifest.xml中添加开发秘钥和所需权限。
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="你的AK" /> 在application标签中加入,其中的AK值为你在百度地图创建应用时生成的对应AK值,一定要填写正确。
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" /> 5. 在应用程序创建时初始化SDK引用的Context全局变量。 在使用SDK各组件之前初始化context信息,传入ApplicationContext
注意该方法要再setContentView方法之前实现
使用百度地图的任何功能都需要先初始化这段代码 最好放在全局中进行初始化
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.app_map);
mMapView = (MapView) findViewById(R.id.bmapView); 6. 完整MapActivitypackage com.yanis.yc_ui_fragment_tabhost;
import android.app.Activity;
import android.os.Bundle;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.MapView;
import com.yanis.yc_ui_fragment_tabhost.R.id;
public class MapActivity extends Activity {
private MapView mMapView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.app_map);
mMapView = (MapView) findViewById(R.id.bmapView);
// 删除百度地图LoGo
mMapView.removeViewAt(1);
}
@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();
}
}
4.地图显示网格问题解决办法 我在真机测试用Eeclipse打包签名生成apk运行后,显示的都是网格。 解决方法:我的问题时我的keystore是我之前自己自定义创建的,和我网上生成的AK值没有对应的关系。所以我找到eclipse根文件下的debug.keystore,在去打包生成apk真机运行后可以正常显示。 还是没有解决可以参考http://blog.csdn.net/chentravelling/article/details/51385052去解决。
(一)HelloMap工程
1.申请AK(API Key) 要在app中嵌入百度地图需要一个百度地图的api key,我们可以到http://lbsyun.baidu.com/apiconsole/key去免费申请一个。具体详细配置我们官方给了介绍http://lbsyun.baidu.com/index.php?title=androidsdk/guide/key,仔细按照官方的步骤都能配置成功的。2.下载SDK开发包 官网根据用户需求不同可以自定义下载SDK包。点击自定义下载SDK包。建议将示例代码也一并下载下来(在以后的介绍中会用到)。
3.在android项目中引用百度SDK 1. 将开发包中的jar包和so文件添加你的工程文件中的libs文件下。
2. 在工程中将相应的jar包Build Path一下。
3 .在AndroidManifest.xml中添加开发秘钥和所需权限。
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="你的AK" /> 在application标签中加入,其中的AK值为你在百度地图创建应用时生成的对应AK值,一定要填写正确。
<!-- 这个权限用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" > </uses-permission> <!-- 这个权限用于访问GPS定位 --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" > </uses-permission> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" > </uses-permission> <!-- 获取运营商信息,用于支持提供运营商信息相关的接口 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" > </uses-permission> <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 --> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" > </uses-permission> <!-- 用于读取手机当前的状态 --> <uses-permission android:name="android.permission.READ_PHONE_STATE" > </uses-permission> <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" > </uses-permission> <!-- 访问网络,网络定位需要上网 --> <uses-permission android:name="android.permission.INTERNET" /> <!-- SD卡读取权限,用户写入离线定位数据 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" > </uses-permission>添加以上权限 4. 在app_map.xml布局文件中添加地图控件:
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" /> 5. 在应用程序创建时初始化SDK引用的Context全局变量。 在使用SDK各组件之前初始化context信息,传入ApplicationContext
注意该方法要再setContentView方法之前实现
使用百度地图的任何功能都需要先初始化这段代码 最好放在全局中进行初始化
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.app_map);
mMapView = (MapView) findViewById(R.id.bmapView); 6. 完整MapActivitypackage com.yanis.yc_ui_fragment_tabhost;
import android.app.Activity;
import android.os.Bundle;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.MapView;
import com.yanis.yc_ui_fragment_tabhost.R.id;
public class MapActivity extends Activity {
private MapView mMapView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.app_map);
mMapView = (MapView) findViewById(R.id.bmapView);
// 删除百度地图LoGo
mMapView.removeViewAt(1);
}
@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();
}
}
4.地图显示网格问题解决办法 我在真机测试用Eeclipse打包签名生成apk运行后,显示的都是网格。 解决方法:我的问题时我的keystore是我之前自己自定义创建的,和我网上生成的AK值没有对应的关系。所以我找到eclipse根文件下的debug.keystore,在去打包生成apk真机运行后可以正常显示。 还是没有解决可以参考http://blog.csdn.net/chentravelling/article/details/51385052去解决。
相关文章推荐
- Android百度地图开发学习笔记(四)之POI检索并显示在listview中
- Android Map开发基础知识学习笔记
- Android Map开发基础知识学习笔记
- arcgis for android 学习 - (2) hello Wrold. 显示一个地图
- Android开发学习笔记:浅谈显示Intent和隐式Intent
- Android Map开发基础知识学习笔记
- Android Map开发基础知识学习笔记
- Android开发百度地图(一)--显示基本地图
- Android Map开发基础知识学习笔记
- Android Map开发基础知识学习笔记
- Android Map开发基础知识学习笔记(转)
- Android学习——百度地图开发定位与显示Demo
- Android开发学习笔记:浅谈显示Intent和隐式Intent
- Android Map开发基础知识学习笔记
- 【Cocos2d-X开发学习笔记】第27期:游戏背景之贴图地图类(CCTileMapAtlas)的使用
- Android开发学习笔记(三)——基于Eclipse开发环境的搭建及HelloAndroid示例程序的创建
- Android Map开发基础知识学习笔记
- Android Activity和Intent机制 学习笔记(显示网页,显示地图,打电话)
- Android 百度地图开发-setOnTouchListener方法给mapView设置了OnTouchListener后地图无法拖动的问题
- Android Map开发基础知识学习笔记