获取Android GoogleMap API V2密钥详解

公司有个Android项目要用到地图,之前用百度地图开发了一版,现在地图要改成Google的,就必须申请一个key,百度是中文说明,很快就申请了,但是Google是英文的说明,对于我们这些英盲来说,看起来很是蛋疼啊,网上也有介绍的,但是试了都不行,那就只能上“有道”自己解决了,经过不懈的努力,终于解决了,分享给需要的人!

1.首先的生成SHA1密钥(旧版好像是MD5)

生成方法:

(1).获取debug.keystore的路径,这个路径在安装Eclipse时默认安装在C:\Documents and Settings\Administrator\.android\debug.keystore下,(也可在eclipse-->window-->Preferences-->Android-->build/Defaultdebug keystore获取),但是得到的路径必须在cmd控制台运行,不能包含空格,就必须修改路径,修改方法:右键我的电脑-->属性-->高级-->环境变量-->新建一个环境变量,变量值可以c、d、e那个盘都可以,不能包含中文也不能有空格如下图所示:创建完以后如果eclipse正在运行,重新启动eclipse,查看eclipse-->window-->Preferences-->Android-->build/Defaultdebug keystore是否已将路径更改;将之前创建在C:\Documents and Settings\Administrator\.android目录下的文件全部复制到新创建的.android文件夹下;


(2).运行cmd,输入keytool -list -v -keystore <debug keystore的路径>,回车后提示你输入keystore密码,密码为android,回车后生成我们所需要的数据,如下图:

右键全选,一回车直接复制,新建一个记事本粘贴,通过这两步我们就获取了指纹证书,接下来就是到Google去获取key了;

(3).打开Google APIs Console: https://code.google.com/apis/console/ ;使用Google账号登陆,如果没有账号,就只能注册了,注册账号就不在这多说了!

(4).选择Google Maps Android API V2的选项打开,如下图所示:

点击Google Maps Android API V2进入设置页面,如下图所示:

点击 Create an OAuth 2.0 client ID...根据需求创建类型,有三种类型可选,如下图所示(我们选择 Installed application type-->Android)在Package name输入框中输入应用的包名,在下一个输入框中输入我们生成的SHA1号,点击Create client ID;

(5).创建完成后会生成一些信息,如下图

在API Access页面的最下面可以创建各个类型的key,看下图

我们获取Android Google Map的key,我们点击Create new Android Key,弹出如下界面,再次输入之前生成的SHA1号与应用程序包名,格式为(SHA1;应用程序包名)用分号隔开,点击Create,申请Google Map Android V2 key成功!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 应用中,你可以使用 Google Maps Android API 来根据经纬度获取地址。下面是一个简单的示例,你可以在你的项目中使用它: 1. 首先,在你的项目的 `build.gradle` 文件中添加以下依赖: ```gradle implementation 'com.google.android.gms:play-services-maps:17.0.1' ``` 2. 在你的布局文件中添加一个 MapView 元素: ```xml <com.google.android.gms.maps.MapView android:id="@+id/map_view" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 3. 在你的 Activity 或 Fragment 中,初始化 MapView 并获取 GoogleMap 实例: ```java import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.MapView; import com.google.android.gms.maps.OnMapReadyCallback; public class MainActivity extends AppCompatActivity implements OnMapReadyCallback { private MapView mapView; private GoogleMap googleMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mapView = findViewById(R.id.map_view); mapView.onCreate(savedInstanceState); mapView.getMapAsync(this); } @Override public void onMapReady(GoogleMap map) { googleMap = map; // 在此处添加你的逻辑代码 } } ``` 4. 在 `onMapReady` 方法中,可以使用 `Geocoder` 类来根据经纬度获取地址: ```java import android.location.Address; import android.location.Geocoder; @Override public void onMapReady(GoogleMap map) { googleMap = map; double latitude = 40.712776; double longitude = -74.005974; Geocoder geocoder = new Geocoder(this); try { List<Address> addresses = geocoder.getFromLocation(latitude, longitude, 1); if (addresses.size() > 0) { Address address = addresses.get(0); String formattedAddress = address.getAddressLine(0); // 在此处处理获取到的地址 } } catch (IOException e) { e.printStackTrace(); } } ``` 在上述代码中,你可以将 `latitude` 和 `longitude` 替换为你要查询的经纬度。然后,通过创建 `Geocoder` 对象并调用 `getFromLocation` 方法来获取地址。如果成功获取到地址,你可以在 `formattedAddress` 变量中获取到格式化的地址字符串。 请确保你已在 AndroidManifest.xml 文件中添加了适当的权限和 API 。 希望这对你有所帮助!如果有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值