自制导航App(包含地图、定位、自定义marker、路线制定、模拟导航等功能)

高德地图路线导航制作

转载请注明出处:https://blog.youkuaiyun.com/Dreamer_man/article/details/104193832

由于公司项目需求,特地去官网,重新温习了一遍高德的地图制作。并且自己写了个Demo,主要包含5大功能:地图、定位、自定义marker、路线制定、模拟导航。下面是效果图(代码下载链接在最下面,有需要的拿走):

在这里插入图片描述

1. 准备工作:

首先需要做一些地图的准备工作,这就好比写代码前,要洗手通风一样。

1.1 获取Key

第一步,去高德官网申请key,具体申请方式,获取key已经讲的很清楚了,这里我就不细细道来了。

图1-1 申请Key

在这里插入图片描述

1.2 添加SDK

第二步,添加SDK。这里有两种添加方式,第一种是通过拷贝添加SDK,第二种是通过Gradle集成SDK。这里我选择的是第二种,当然也建议大家用第二种,为什么呢?因为懒,哈哈,当然具体需要集成什么SDK,根据大家业务需求写。如果小伙伴们对第一种也感兴趣,可以参考添加SDK

//3D地图so及jar和导航
implementation 'com.amap.api:navi-3dmap:latest.integration'
//定位功能
implementation 'com.amap.api:location:latest.integration'
//搜索功能
implementation 'com.amap.api:search:latest.integration'
注意(此乃官方吐槽):

1. navi导航SDK 5.0.0以后版本包含了3D地图SDK,所以请不要同时引入 map3d 和 navi SDK。

2. 依照上述方法引入 SDK 以后,不需要在libs文件夹下导入对应SDK的 so 和 jar 包,会有冲突。

第2点说人话就是,如果在gradle中添加了上面几个依赖后,就不需要添加其他地图so库和jar包(手动滑稽,是不是很方便)

1.3 配置AndroidManifest.xml

第三步,配置AndroidManifest.xml

首先,声明权限

<!--地图包、搜索包需要的基础权限-->
<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" />
<!--用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!--这个权限用于允许程序在手机屏幕关闭后后台进程仍然运行-->
<uses-permission android:name="android.permission.WAKE_LOCK"/>

然后,设置高德key

<meta-data   
    android:name="com.amap.api.v2.apikey"                
    android:value="开发者申请的key"/>

最后,添加定位服务(这点很重要,没有这个服务,应用无法定位)

<service android:name="com.amap.api.location.APSService"></service>

完事具备,只欠东风,咱们就开始垒代码。

2. 地图显示

第一步,在XML文件中定义MapView控件

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

第二步,再初始化地图,


                
### 回答1: 在Android Studio中使用自制地图导航需要注意几个步骤。 首先,需要获取开发者密钥,可以在百度地图开发者平台进行申请。然后,可以使用百度地图SDK提供的API接口,来获取地图和相关信息。可以在AndroidManifest.xml文件中配置百度地图SDK所需的权限和相关信息。 其次,需要制作自制地图。可以使用百度地图SDK提供的离线地图功能,将地图下载到本地,在使用时不需要在线获取地图信息。可以通过地图制作工具,将需要的地图制作成特定格式的离线地图,并将其放置在指定的文件夹中。 最后,在代码中调用百度地图SDK提供的路径规划API接口,来实现自制地图导航功能。可以根据起点和终点的坐标位置,在地图上绘制路线,并使用语音提示的方式,引导用户按照路线行走。 总之,在Android Studio中使用自制地图导航需要进行多个步骤的配置和编码工作,需要开发者具备一定的地图制作和Android开发经验。但是,通过使用百度地图SDK提供的API接口和相关工具,可以快速实现自制地图导航功能的开发和测试。 ### 回答2: Android Studio是一种非常流行的集成开发环境,可以用来开发各种Android应用程序。在这个环境中,可以选择使用自制地图导航的方法。以下是详细解释: 首先,需要一个地图数据源。可以使用一个免费或付费的地图服务提供商,或使用开源地图软件,如OpenStreetMap和Mapbox。然后,利用这个或这些数据源,可以在Android Studio中创建一个完整的地图并导出它。 接下来,需要一个导航组件。可以使用Android Studio的自带功能,或者使用其他第三方导航组件。然后将导航组件添加到应用程序中。由于地图数据源和导航组件分别由不同的公司开发,因此可能需要使用一些API,以确保地图导航组件之间的连接正确。 为了使这款应用程序更加实用,必须添加一些特性。例如,可以使用GPS定位功能,以便在地图上准确显示用户的位置。还可以添加音频和/或视觉指示,以便用户在导航的过程中快速了解导航的状态(例如,到哪里去,还有多远)。用户可以使用讲话输入命令,或者点击屏幕上的按钮进行操作。 总体而言,自制地图导航需要利用多个技能和工具,包括地图服务商、API、导航组件和应用程序设计知识。但是,通过使用Android Studio,可以轻松地创建一个强大、实用的地图导航应用程序,来满足用户的需求。 ### 回答3: 在Android Studio中使用自制地图导航需要以下步骤: 第一步,选择地图引擎 在Android Studio中选择使用哪种地图引擎,例如百度地图、高德地图、Google地图。此处以百度地图为例。 第二步,导入地图SDK 在Android Studio中导入使用的地图SDK,例如百度地图SDK,需要在build.gradle文件中添加依赖。 第三步,实现地图控件 在XML布局文件中添加地图控件,并在Java代码中实现地图功能,例如设置地图中心点、缩放级别等。 第四步,使用导航SDK 在Android Studio中使用导航SDK,例如百度地图导航SDK,需要在build.gradle文件中添加依赖。然后实现导航功能,例如设置起点、终点、路线规划等。 第五步,自制地图导航 通过以上步骤,我们已经实现了地图导航功能,接下来需要自制地图导航。我们可以通过自定义Overlay将自己的地图贴在百度地图上,然后在导航功能中调用自己的地图进行导航。 总结 以上就是在Android Studio中使用自制地图导航的步骤。在实现地图导航功能时,需要注意安全性和用户体验,例如数据的准确性、路线规划的优化等。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值