首页 > 移动平台 > 详细

高德地图Android第一步

时间:2016-01-15 23:10:55      阅读:1338      评论:0      收藏:0      [点我收藏+]

本文介绍高德地图入门第一步,从申请高德开发者到显示地图。

首先,注册申请开发者。高德地图开发者平台的邮件系统好像不太稳定,邮件验证经常有问题,网上也有比较多的人反应这个问题。解决方法:高德的FAQ常见问题中有如下问题“注册时收不到邮箱验证码怎么办?”,按照提供的几个方法操作便可以申请好开发账号。

第二步,下载、搭建环境,按照开发者指南中的配置工程操作即可。在这个步骤中需要使用到高德地图的KEY,在高德地图开放平台的Console中有申请KEY的页面。申请KEY的时候需要使用Android应用发布版和调试版本的安全码SHA1。安全码的获取需要用到java中的keytool。

调试版本的SHA1获取很方便,在cmd中切换到用户目录下的.android目录中,运行命令:

keytool -list  -v -keystore debug.keystore

即可获得调试版本的SHA1码。

发布版的SHA1需要用自己的keystore。如果有现有的keystore,利用如下命令获取SHA1码即可:

keytool -list  -v -keystore 现有的keystore

如果没有现有的keystore,就需要自己生成keystore,利用如下命令:

keytool -genkey -alias android.keystore  -keyalg RSA -validity 20000 -keystore android.keystore

其中-alias android.keystore为生成keystore的别名;-keyalg RSA是加密和数字签名的算法;-validity 20000是有效天数。此命令还有其他选项可选,具体参考keytool的用法。

在生成自己的keystore之后利用调试版的SHA1获取方式获取自己的keystore的SHA1码即可。

然后就可以在Console中申请到自己的KEY了。最后将key插入到工程中的Manifest中即可。

 <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:hardwareAccelerated="false"
        >
        <meta-data
            android:name="com.amap.api.v2.apikey"
            android:value="你的KEY"
            />

        <activity android:name=".MainActivity">

最后,参考地图显示加入相应代码,在使用高德地图Android SDK的时候需要注意文档中的一句话:

使用 MapView 类,必须重载 Activity 生命周期的所有方法,有 onCreate(),onDestroy(),onResume(),onPause(),onSaveInstanceState()。

如果不继承这些生命周期,地图显示不出来。

最后给出相应代码仅供参考:

首先是activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    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:orientation="vertical"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.ibike.ibike.MainActivity">

    <com.amap.api.maps.MapView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

MainActivity.java:

public class MainActivity extends AppCompatActivity {
    private MapView mapView;
    private AMap aMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mapView = (MapView) findViewById(R.id.map);
        mapView.onCreate(savedInstanceState);
        init();
    }

    private void init(){
        if(aMap == null){
            aMap = mapView.getMap();
        }
    }

    /**
     * 方法必须重写
     */
    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        mapView.onResume();
    }

    /**
     * 方法必须重写
     */
    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        mapView.onPause();
    }

    /**
     * 方法必须重写
     */
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        // TODO Auto-generated method stub
        super.onSaveInstanceState(outState);
        mapView.onSaveInstanceState(outState);
    }

    /**
     * 方法必须重写
     */
    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        mapView.onDestroy();
    }
}

 

高德地图Android第一步

原文:http://www.cnblogs.com/lafido/p/5134488.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!