Android 集成google map,Markers ,定位,聚合

本文详细介绍了如何在Android应用中集成Google Maps,包括创建Markers、实现定位功能以及进行数据聚合。首先,需要在谷歌开发者平台上注册并启用相关API,获取API密钥并配置到项目中。接着,添加依赖并设置清单文件,完成地图展示。创建Markers的代码可快速生成地图标记。为实现定位,需实现多个接口并处理权限问题。对于数据聚合,通过特定代码可以实现地图上Marker的聚合效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

集成谷歌地图

前期准备

1.注册谷歌账号,然后再开发者平台登录

开发者平台传送门(需翻墙)
谷歌地图的文档

2.进入控制台,新建项目
在这里插入图片描述在这里插入图片描述
3.此时成功创建项目,接下来是添加API,因为谷歌将谷歌地图的功能都拆分成对应的API了,所以需要自己的添加

4.点击要使用API,然后启动即可,稍等一会,就会跳转到API界面,查看已添加API列表中是否已经成功开启
在这里插入图片描述
**PS:谷歌部分API是按需收费的,具体收费金额请自行查看文档
5.最后,查看你在控制台的项目的密钥,没有的话需要创建,(我已经创建好了)
在这里插入图片描述
在这里插入图片描述
**6.创建密钥成功后,需要对密钥添加包名和sha-1证书指纹,点击密钥右边的笔进入修改界面,不知道如何获取sha-1的话,**可以参考此链接
在这里插入图片描述
最后保存,至此,控制台方面搞定。接下来是代码环节。

添加依赖

implementation 'com.google.android.gms:play-services-maps:16.1.0'
implementation 'com.google.maps.android:android-maps-utils:0.5+'

Android studio 安装google play services
在这里插入图片描述

打开Android Studio,新建项目,在value\string文件下添加你的密钥

  <string name="google_map_key">您的api密钥</string>

打开manifests清单文件,添加标签

<meta-data
	  android:name="com.google.android.geo.API_KEY"
	  android:value="@string/google_map_key" />

接着在layout布局中添加fragment控件

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.goolgle.MainActivity" />

然后在Activity中,让Activity实现OnMapReadyCallback接口,并重写onMapReady方法,完整代码如下

public class MainActivity extends FragmentActivity
        implements OnMapReadyCallback {
    private GoogleMap mMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }

    @Override
    public void onMapReady(GoogleMap googleMap) {
        LatLng sydney = new LatLng(-33.852, 151.211);
        googleMap.addMarker(new MarkerOptions().position(sydney)
                .title("hello world"));
        googleMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
    }

运行,显示以下界面则正常,若显示空白,可能你VPN没有打开。
在这里插入图片描述

下面介绍一种比较快速的创建项目方法
1.在创建项目的时候选择google maps Activity,然后finish
在这里插入图片描述
创建好的项目会自动帮你写好代码和布局,但是你直接运行的话,界面是显示空白的,因为你还没有获取到api密钥,打开google_maps_api.xml。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值