Android 接入天地图的指南

在移动设备上进行地理信息的显示和交互是现代应用程序中非常重要的一部分。对于使用 Android 开发的应用,接入天地图可以为用户提供丰富的地图服务和地理信息功能。本文将为您介绍如何在 Android 应用中接入天地图,并提供相关的代码示例。

一、天地图简介

天地图是由中国国家测绘地理信息局主办的国家级地理信息公共服务平台。它提供了丰富的地理信息,包括基础地图、卫星影像、地形图等。开发者可以利用天地图的 API 来进行地图展示、标注、导航等功能。

二、环境准备

在开始接入天地图之前,您需要进行以下准备:

  1. 注册天地图账号:访问 [天地图官网]( 注册账号,并申请开发者秘钥。
  2. Android Studio:安装并配置最新版本的 Android Studio。

三、项目配置

在 Android Studio 中创建一个新的项目,并按照以下步骤配置:

  1. 打开 build.gradle 文件,在 dependencies 中添加天地图的依赖库:
implementation 'com.tianditu:tianditu-sdk:2.0.0'
  1. AndroidManifest.xml 文件中添加必要的权限和密钥配置:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

<application>
    ...
    <meta-data
        android:name="TianDiTuMapKey"
        android:value="YOUR_TIAN_DITU_MAP_KEY" />
</application>

注意,将 YOUR_TIAN_DITU_MAP_KEY 替换为您申请到的天地图密钥。

四、基本地图展示

创建一个活动(Activity),并在其中使用天地图 API 来展示地图。以下是基本示例代码:

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.tianditu.map.TiandituMapView;
import com.tianditu.map.TiandituMapType;

public class MainActivity extends AppCompatActivity {

    private TiandituMapView tiandituMapView;

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

        // 初始化天地图视图
        tiandituMapView = findViewById(R.id.tiandituMapView);
        tiandituMapView.setMapType(TiandituMapType.TDT_HY);
        tiandituMapView.setZoom(10);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        tiandituMapView.destroy();
    }
}

res/layout/activity_main.xml 中添加地图视图:

<com.tianditu.map.TiandituMapView
    android:id="@+id/tiandituMapView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

五、添加标记和路径

接下来,我们可以在地图上添加标记以及路径。以下是实现该功能的代码示例:

import android.graphics.Color;
import com.tianditu.map.TiandituMapMarkerOptions;
import com.tianditu.map.TiandituMapPolylineOptions;
import com.tianditu.map.TiandituMap;

public void addMarkerAndPolyline() {
    // 添加标记
    TiandituMapMarkerOptions markerOptions = new TiandituMapMarkerOptions()
            .position(new LatLng(39.9042, 116.4074))
            .title("北京");
    tiandituMapView.addMarker(markerOptions);

    // 添加路径
    List<LatLng> pathPoints = new ArrayList<>();
    pathPoints.add(new LatLng(39.9042, 116.4074));
    pathPoints.add(new LatLng(39.9152, 116.4044));
    
    TiandituMapPolylineOptions polylineOptions = new TiandituMapPolylineOptions()
            .addAll(pathPoints)
            .color(Color.BLUE)
            .width(5);
    tiandituMapView.addPolyline(polylineOptions);
}

六、旅行图示例

接下来,我们使用 mermaid 语法展示一条简单的旅行路线:

journey
    title 从北京出发的旅行
    section 前往北京市
      出发: 5:00: 5:00
      到达: 6:00: 1:00
    section 游览天安门
      抵达: 7:00: 1:00
      出发: 9:00: 2:00
    section 前往故宫
      抵达: 10:00: 1:00
      出发: 12:00: 2:00

七、总结

本文介绍了如何在 Android 应用中接入天地图,展示基本地图,并添加标记和路径。希望本文能够帮助您开始在 Android 上使用天地图进行地理信息服务的开发。通过不断地学习和实践,您将能够创造出更加强大和富有创意的地理应用。祝您开发愉快!