开心钱包高德地图离线包怎么用怎么用

2453人阅读
& & &如题!时间比较紧迫,我就不废话了,虽然这是我自己写的第一篇博客,也整合了其他博主的解决办法,但我从开始下载sdk到让模拟器中显示地图这一过程中遇到的问题不是一个博主的博客就能解决的,所以还是大言不惭把这个作为原创了!下面切入正题!
& &1.导包的注意点
& &第一步:把高德地图jar包Android_Map_*.*.*.jar添加到libs文件夹
中(libs目录跟src目录是同一级的,没有libs文件夹请新建一个)
然而这样做了不一定有用的!!!请打开file&project structure&app&(横栏)Dependencies,点击+,然后选择file dependencies,找到已经放进去的Android_Map_*.*.*.jar,点击OK!
& 第二步:把高德地图库文件libamapV301.so和libamapv301ex.so添加到armeabi文件夹中
(armeabi文件夹在src文件夹中main文件夹中的 & & & & & & & & &jniLibs文件夹中,初始项目应该是没有jniLibs这个文件夹的,所以没有这些目录请依次新建)这个确实有用!如果不这样做,run的时候会提示couldn't
find &libgdamapv4sdk736.so
& 第三步:请重新编译一下项目,run一下即可。(当然代码还是要写好的)
2.代码(最简单的显示地图所需要的!)
首先在AndroidManifest文件中添加如下代码:
&meta-data
android:name=&com.amap.api.v2.apikey&
android:value=&ca5aec382bfc9885caa009c7ce86a31f& /&
&uses-permission android:name=&android.permission.ACCESS_NETWORK_STATE&/&
&uses-permission android:name=&android.permission.ACCESS_COARSE_LOCATION&/&
&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.READ_PHONE_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& /&
那个apikey在高德地图sdk的官网上可以获得,网址如下:/api/android-sdk/summary/
还有一些用户权限,需要声明。
然后在activity_main.xml文件中添加如下代码:
&!-- 引入布局文件 --&
&com.amap.api.maps.MapView
xmlns:android=&/apk/res/android&
android:id=&@+id/map&
android:layout_width=&fill_parent&
android:clickable=&true&
android:layout_height=&fill_parent& /&
引入布局文件(原始的helloworld TextView可以删去)。
最后在MainActivity.java文件中添加如下代码:
//声明变量
private MapView mapView;
private AMap aMap;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//在onCreat方法中给aMap对象赋值
setContentView(R.layout.activity_main);
mapView = (MapView) findViewById(R.id.map);
mapView.onCreate(savedInstanceState);// 必须要写
aMap = mapView.getMap();
protected void onResume() {
super.onResume();
//在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
mapView.onResume();
protected void onPause() {
super.onPause();
//在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
mapView.onPause();
protected void onDestroy(){
super.onDestroy();
mapView.onDestroy();
就是这样了,其实和官网的开发指南中讲的并没有一点区别!但是官方都是用eclipse做的示范,AS版本暂时还没有。
还有别的问题的话会后续补充,mark一下!
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2458次
排名:千里之外君,已阅读到文档的结尾了呢~~
高德地图使用说明书渭?渭,???,?渭?
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
高德地图使用说明书
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口高德地图如何收藏我的位置
高德地图如何收藏我的位置
编辑:之天
来源:手机世界
如何收藏我的位置。可将自己去过的地点收藏起来,以便下次再去的时候,打开便可进行导航。下面手机世界小编就教大家如何收藏我的位置。
相关教程:
1)安装并打开。点击主界面中的我的位置【详情】。(如下图)
2)点击【五角星】收藏按钮。返回主界面点击【人物头像】。(如下图)
3)找到并点击【收藏夹】,进入收藏夹后点击收藏点,便可查看该收藏点。(如下图)
4)点击收藏点旁边的【编辑】按钮,还可根据所需编辑这个点。(如下图)
PS:如大家在使用手机过程中遇到难题了,可以直接到()进行提问或关注本站微信公众帐号(微信号:www3533com)后给小编留言,小编收到留言后会第一时间给大家解决相关疑问。
支持平台:Android高德地图使用小结 - 简书
高德地图使用小结
高德地图的api使用方法和百度地图差不多,照着Demo写也并不难,前段时间做的高德地图如今已经忘的差不多了,我的记性真是差,而且最近在重构代码,我才现以前理解的还是不够透彻有问题,希望写下来常常可以看看。
最简单的定位
定位基本上都是一个LocationClient类开始定位,LocationListener进行定位监听拿到定位结果,百度地图中也是这样的。
实例化对象
private void initLocation() {
if(locationClient ==null)
locationClient = new AMapLocationClient(this);
if(option == null)
option = new AMapLocationClientOption();
option.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
//定位监听
locationClient.setLocationListener(this);
locationClient.setLocationOption(option);
locationClient.startLocation();
定位结果的回调方法
public void onLocationChanged(AMapLocation aMapLocation) {
if(aMapLocation!=null)
if(aMapLocation.getErrorCode()==0)
Log.d(TAG, "onLocationChanged: "+aMapLocation.getAddress());
Log.d(TAG, "onLocationChanged: "+aMapLocation.getErrorCode()+aMapLocation.getErrorInfo());
从AmapLocation对象中可以拿到相关的地理位置信息。 定位结果:onLocationChanged: 江苏省南京市浦口区
定位并且在地图上显示出我的位置
有的时候不仅仅希望能拿到城市经纬度,还希望可以直接在地图上看到,怎么办呢?不是刚刚已经说了,拿到经纬度了吗,那么在地图上放个Marker,再把地图移到这个经纬度上,我们不就可以看到了吗?对,这是一种方法,可是看高德地图Demo中还有一种更简单的方法。
直接看代码
private void initLocation() {
//地图监听定位
mAmap.setLocationSource(this);
设置为true表示显示定位层并可触发定位,false表示隐藏定位层并不可触发定位,默认是false
不设置true定位定不出来(一个大坑)
mAmap.setMyLocationEnabled(true);
setLocationSource主要有两个方法
void activate(LocationSource.OnLocationChangedListener onLocationChangedListener)
//激活定位,实例化对象,设置监听等
void deactivate() 释放资源 如停止定位
具体代码:
//定位回调接口
public void onLocationChanged(AMapLocation aMapLocation) {
if (aMapLocation != null&&mlistener!=null) {
if (aMapLocation.getErrorCode() == 0)
//这行直接显示我的位置,并且给出一个默认的图标标位置
mlistener.onLocationChanged(aMapLocation);
Log.d(TAG, "onLocationChanged: " + aMapLocation.getAddress());
Log.d(TAG, "onLocationChanged: " + aMapLocation.getErrorCode() + aMapLocation.getErrorInfo());
//激活定位
public void activate(LocationSource.OnLocationChangedListener onLocationChangedListener) {
mlistener = onLocationChangedL
if(locationClient ==null)
locationClient = new AMapLocationClient(this);
if(option == null)
option = new AMapLocationClientOption();
设置GPS定位优先,即使设置高精度定位模式,它也会优先GPS在室内定位很差,最好不要设置,就默认的也就是
option.setGpsFirst(true);
//高精度定位模式
option.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
//设置定位,onLocationChanged就是这个接口的方法
locationClient.setLocationListener(this);
locationClient.setLocationOption(option);
//开始定位
locationClient.startLocation();
public void deactivate() {
if(locationClient.isStarted())
locationClient.stopLocation();
locationClient =
mlistener=
搜索结果.png
poi,point of interset,也就是兴趣点搜索,区别于正向地址解析。.一般就是为搜索设置查询条件,然后异步搜索。
// 第一个参数表示搜索字符串,第二个参数表示poi搜索类型,第三个参数表示poi搜索区域(空字符串代表全国)
query = new PoiSearch.Query(keyWord,"",aMapLocation.getCity());
// 设置query为poiSearch的查询条件
= new PoiSearch(mContext,query);
搜索回调接口
poiSearch.setOnPoiSearchListener(this);
设置异步搜索
poiSearch.searchPOIAsyn();
public void onPoiSearched(PoiResult poiResult, int i) {
view.hideProgress();
if(i==1000)
if(null != poiResult&&poiResult.getQuery()!=null)
//判断返回的结果和想要查询的结果是否一致
if(poiResult.getQuery().equals(query))
List&PoiItem& poiItem = poiResult.getPois();
if(null!= poiItem&&poiItem.size()&0)
//aMap.clear();
//添加覆盖物
PoiOverlay poiOverlay = new PoiOverlay(aMap,poiItem);
poiOverlay.removeFromMap();
poiOverlay.addToMap();
poiOverlay.zoomToSpan();
poi搜索.png
最后说一个高等地图的一个坑
&!-- 高德地图配置 --&
&meta-data
android:name="com.amap.api.v2.apikey"
android:value="08c9b26d3ce86fb960c88" /&
&!-- 高德地图定位 --&
&service android:name="com.amap.api.location.APSService" /&
"com.amap.api.v2.apikey"这个不能改是固定死的,和百度地图一样,不然定位失败。
注意:高德地图并不是比较密钥“08c9b26d3ce86fb960c88”,而是比较申请key的时候填写的sha1加密值和包名。一台机器上运行的项目放到另一台机器上地图就定位不出结果了,显示key配置有问题,这里就是你本地机器sha1加密和高德服务器上的不一样,所以才会这样。

我要回帖

更多关于 高德地图离线包怎么用 的文章

 

随机推荐