zoukankan      html  css  js  c++  java
  • 假期学习记录01(地图显示和基本的配置)

    项目使用的是高德地图的插件,因为百度地图的开发文档我看不懂(其实高德的也看不懂)

    首先要注册成为高德的开发者,直接去高德开发平台注册便可。高德开发平台网址:https://lbs.amap.com/

    基本的配置高德开发平台上也比较清晰。在这里我记录一种sha1值的获取方式(个人认为比较简洁)

    首先win+R输入cmd打开命令提示符

    然后输入 cd  .android

    然后输入keytool -list -v -keystore debug.keystore

    此时要求输入密码一般默认密码是android此时就会出现sha1的值了,我们在填写高德开发平台添加key时会让输入开发和调试的sha1的值,一般在不上架的情况下填写一样的就好,下面附图

    填写完信息后我们开始配置本地的androidstdio

    我们需要在高德地图网站上下载一些sdk,网站https://lbs.amap.com/api/android-sdk/download/

    将下载下来的文件拷贝到我们的项目中,位置如下,jar包放在libs下其他文件放在jniLibs下,没有这个目录就新建一个

    添加完文件点击android stdio上面倒数第四个图标将我们导入的jar包添加一下。

    在AndroidManifest中添加如下代码

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.lastgps">
        <uses-permission android:name="android.permission.INTERNET" />
        <!--允许程序设置内置sd卡的写权限-->
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <!--允许程序获取网络状态-->
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <!--允许程序访问WiFi网络信息-->
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <!--允许程序读写手机状态和身份-->
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <!--允许程序访问CellID或WiFi热点来获取粗略的位置-->
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <meta-data android:name="com.amap.api.v2.apikey" android:value="申请的key值">
            </meta-data>
        </application>
    
    </manifest>
    

    在project的build.gradle中配置repositories,添加仓库地址

    allprojects {
        repositories {
            jcenter() // 或者 mavenCentral()
        }
     }
    

     在工程中的build.gradle中配置dependencies代码如下(3d地图,具体看高德开发文档)

    android {
        defaultConfig {
            ndk {
                //设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
                abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64"
            }
        }
    }
    
    

     此时基本的配置就完成了

    ===============================================================================================================================================================

    接下来在手机上显示地图(以下代码来自高德地图开发文档)

    layout文件中添加一个mapview的控件

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

     如果没有这个控件那就是本地的包还没有导入

    在java代码中代码如下

    package com.example.lastgps;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    
    import com.amap.api.maps.AMap;
    import com.amap.api.maps.MapView;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            MapView mapView = (MapView) findViewById(R.id.mymapview);
            mapView.onCreate(savedInstanceState);// 此方法必须重写
            AMap aMap = mapView.getMap();
    
            aMap.setTrafficEnabled(true);// 显示实时交通状况
            //地图模式可选类型:MAP_TYPE_NORMAL,MAP_TYPE_SATELLITE,MAP_TYPE_NIGHT
            aMap.setMapType(AMap.MAP_TYPE_SATELLITE);// 卫星地图模式
        }
    }
    

     运行结果如下

  • 相关阅读:
    Python python __def__ Exception AttributeError: "'NoneType' object has no attribute
    Python sys.argv[]用法
    Python 编写通过DOS压缩的例子遇到的几个问题
    DOS rar压缩
    Oracle游标介绍
    C#保存日志文件到txt中,可追加保存,定时删除最后一次操作半年前日志文件
    VS2008生成解决方案卡顿、龟速
    VS工具箱中添加DevExpress控件
    CLR 无法从 COM 上下文 0x208f68 转换为 COM 上下文 0x2090d8,这种状态已持续 60 秒
    命名空间"xx"已经包含了"xx"的定义
  • 原文地址:https://www.cnblogs.com/837634902why/p/12250317.html
Copyright © 2011-2022 走看看