• Android开发学习——高德地图的实现


    1.首先做好下边的准备:

       1.1  http://lbs.amap.com/   注册账号

       1.2  下载 定位sdk 和 地图sdk

            

      下载后是这样的

       1.3  对下载的进行解压 

       

       

    将他们加入 中,对每个jar,右键-Add As Library.

    此时 build.gradle生成

    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
            exclude group: 'com.android.support', module: 'support-annotations'
        })
        compile 'com.android.support:appcompat-v7:25.0.0'
        testCompile 'junit:junit:4.12'
        compile files('libs/Amap_2DMap_V4.2.0_20170209.jar')
        compile files('libs/AMap_Location_V3.3.0_20170118.jar')
    }

    1.4 申请API Key.

          首先进入控制台:

         创建自己的应用

        创建应用,相应的密钥 获得 参考如下 http://lbs.amap.com/faq/top/hot-questions/249

     
    那么 开发环境已经配置好了。

    2.将地图展示出来

     2.1  添加用户key   刚才申请的key添加到AndroidManifest.xml中

     <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <meta-data
                android:name="com.amap.api.v2.apikey"     //这个name值 不变
                android:value=" "  //value是上边申请的key
                ></meta-data>

     2.2 添加所需的权限在AndroidManifest.xml

    //地图包、搜索包需要的基础权限
    
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    
        //定位包、导航包需要的额外权限(注:基础权限也需要)
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
        <!--<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />-->
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

      2.3  在xml中 添加

    <com.amap.api.maps2d.MapView
            android:id="@+id/map_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

     2.4 MainActivity,管理地图的生命周期

    public class MainActivity extends AppCompatActivity {
    
        private MapView mMapView = null;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //获取地图控件引用
            mMapView = (MapView) findViewById(R.id.map_view);
            //在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),实现地图生命周期管理
            mMapView.onCreate(savedInstanceState);
        }
    
        @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
        protected void onSaveInstanceState(Bundle outState) {
            super.onSaveInstanceState(outState);
            //在activity执行onSaveInstanceState时执行mMapView.onSaveInstanceState (outState),实现地图生命周期管理
            mMapView.onSaveInstanceState(outState);
        }
    
    
    }

    运行一下:

                                

  • 相关阅读:
    vue 如何在循环中 "监听" 的绑定v-model数据
    验证正则表达式,同时验证手机号码和固定电话号码
    vue 图片上传功能
    localStorage使用总结
    vue2.0 父子组件通信 兄弟组件通信
    SVN使用教程总结
    详解SVN 的使用
    彻底理解setTimeout()
    如何实现一个HTTP请求库——axios源码阅读与分析 JavaScript
    2、Zookeeper原理及应用汇总
  • 原文地址:https://www.cnblogs.com/mengxiao/p/6723302.html
Copyright © 2020-2023  润新知