您的位置 首页 > 数码极客

如何利用高德api批量转换坐标

做车载的应该和这个程序打交道打的比较多吧,这里是我今天写的一个实现了他的API的一个演示程序

首先我们来看下他的官网

相对于其他的api来说,这个api已经相对挺完善的,如果想使用这个车机版地图,你需要去下载一些资源包,放在对应的位置然后联网激活,这些就不详细的说明了

概述

高德地图车机版(amap auto)第三方调用API是为整车厂、前后装主机厂、系统方案商、开发者等,提供的在自己系统或应用中调用高德地图车机版功能的一套方法。调用方可以根据业务需求,调用POI搜索、路线规划、地图操控、导航等功能,充分提升和完善系统及应用的车载体验。

适用环境

Android 车机网页端或车机应用App

支持版本

支持 Android 高德地图车机版 App V1.1.0 及以上版本

术语约定

intent 调用:Android 平台术语,指代第三方应用调用高德地图车机版 Android 客户端的方式

我们主要来看下我们的程序,他只有一个ListView,所有我们的程序layout应该是:

ac

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android=";

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:padding="5dp">

<ListView

android:id="@+id/mListView"

android:layout_width="match_parent"

android:layout_height="match_parent"/>

</LinearLayout>

我们的主程序就更好说话了

MainActivity

package com.liuguilin.com.amapsample; import android.con; import android.; import android.os.Bundle; import android.u; import android.view.View; import android.widget.adapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import java.u; import java.u; /** * 高德车机版API演示程序 * 官网: * by刘桂林 */ public class MainActivity extends AppCompatActivity { //TAG private static final String TAG = "AMapSample"; //列表 private ListView mListView; //适配器 private ArrayAdapter<String> adapter; //数据 private List<String> mList; //应用名称 private String appName; @Override protected void onCreate(Bundle savedInstanceState) { (savedInstanceState); setContentView); initData(); initView(); } /** * 初始化数据 / 便于扩展 */ private void initData() { mList = new ArrayList<>(); mLi("1.进入主图"); mLi("2.显示我的位置"); mLi("3.路线规划"); mLi("4.通过地址"); mLi("5.通过经纬度"); mLi("6.搜索地点"); mLi("7.关键字导航"); mLi("8.周边分类"); mLi("9.直接导航"); mLi("10.地图标注"); mLi("11.地图操作"); mLi("12.特殊点导航"); mLi("13.全程概览"); mLi("14.路线偏好"); mLi("15.路线偏好"); mLi("16.取消导航"); mLi("17.退出应用"); mLi("18.打开收藏夹"); } /** * 初始化 */ private void initView() { //程序名 appName = getString); Log.i(TAG, "appName:" + appName); mListView = (ListView) findViewById); adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mList); mLi(adapter); mLi(new Ada() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { parsing(i); } }); } /** * 操作 * * @param i */ private void parsing(int i) { Log.i(TAG, "position:" + i); switch (i) { //1.进入主图 进入高德地图车机版主图页面 case 0: openMapOperation("androidauto://rootmap?sourceApplication=" + appName); break; //2.显示我的位置 显示当前车位 case 1: openMapOperation("androidauto://myLocation?sourceApplication=" + appName); break; //3.路线规划 输入起点和终点,计算驾车线路。支持按偏好规划路线 case 2: //起点纬度 double slat = 36.2; //起点经度 double slon = 116.1; //起点名称 String sname = "abc"; //终点纬度 double dlat = 36.3; //终点经度 double dlon = 116.2; //终点名称 String dname = "def"; /** * 起终点是否偏移 * 0:lat 和 lon 是已经加密后的,不需要国测加密; * 1:需要国测加密 */ int dev = 0; /** * 驾车方式 =0(速度快) =1(费用少) =2(路程短) =3 不走高速 =4(躲避拥堵) =5(不走高速且避免收费) =6(不走高速且躲避拥堵) =7(躲避收费和拥堵) =8(不走高速躲避收费和拥堵) */ int m = 0; openMapOperation("androidauto://route?sourceApplication=" + appName + "&slat=" + slat + "&slon=" + slon + "&sname=" + sname + "&dlat=" + dlat + "&dlon=" + dlon + "&dname=" + dname + "&dev= " + dev + "&m=" + m); break; //4.通过地址 给定 POI 名称,得出该点的经纬度坐标 case 3: String addr = "深圳世界之窗"; openMapOperation("androidauto://viewGeo?sourceApplication=" + appName + "&addr=" + addr); break; //5.通过经纬度 给定经纬度坐标,得出相应的 POI 地址名称 case 4: double lat = 39.9; double lon = 116.48; //起终点是否偏移(0:lat和lon是已经加密后的,不需要国测加密; 1:需要国测加密) int dev4 = 0; openMapOperation("androidauto://viewReGeo?sourceApplication=" + appName + "&lat=" + lat + "&lon=" + lon + "&dev=" + dev4); break; //6.搜索地点 搜索周边的超市、银行、加油站等分类信息。 case 5: //搜索POI的关键字,如银行、加油站 String keywords = "电影院"; //起终点是否偏移(0:lat和lon是已经加密后的,不需要国测加密;1:需要国测加密) int dev5 = 0; //这里官网提供了两种方式,经纬度和兴趣点,有兴趣的可以自己去官网 openMapOperation("androidauto://poi?sourceApplication=" + appName + "&keywords=" + keywords + "&dev=" + dev5 + "Wod"); break; //7. 关键字导航 根据名称,启动高德地图车机版搜索终点,选择终点后开始启动导航。 case 6: //搜索关键字 String keywords6 = "方恒国际中心"; /** * 导航方式 0 速度快 1 费用少 2 路程短 3 不走高速 4躲避拥堵 5不走高速且避免收费 6不走高速且躲避拥堵 7躲避收费和拥堵 8不走高速躲避收费和拥堵 */ int style = 2; openMapOperation("androidauto://keywordNavi?sourceApplication=" + appName + "&keywords=" + keywords6 + " &style=" + style); break; //8. 周边分类 搜索周边的超市、银行、加油站等分类信息 case 7: String keywords7 = "银行"; //dev照旧 //官网提供两种方式 openMapOperation("androidauto://arroundpoi?sourceApplication=" + appName + "&keywords=" + keywords7 + "&dev=0"); break; //9. 直接导航 输入终点,以用户当前车位为起点开始路线导航 case 8: //POI 名称 String poiname = "fangheng"; //纬度 double lat8 = 36.547901; //经度 double lon8 = 104.258354; //dev和style照旧 //貌似不需要action_view openMapOperation("androidauto://navi?sourceApplication=" + appName + "&poiname=" + poiname + "&lat=" + lat8 + "&lon=" + lon8 + "&dev=1&style=2"); break; //10. 地图标注 根据名称或经纬度,启动高德地图车机版展示一个标注点 case 9: //POI 名称 String poiname9 = "abc"; //纬度 double lat9 = 36.2; //经度 double lon9 = 116.1; //dev照旧 openMapOperation("androidauto://viewMap?sourceApplication=" + appName + "&poiname=abc&lat=" + lat9 + "&lon=" + lon9 + "&dev=0"); break; //11. 地图操作 对地图进行操作,开关实时路况,缩放地图,切换视角。可组合 case 10: /** * 0 实时路况开 * 1实时路况关 */ int traffic = 0; /** * 0缩小地图 * 1放大地图 */ int zoom = 1; /** * 0切换2d车上 * 1切换2d北上 * 2切换3d车上支持 */ int switchView = 2; openMapOperation("androidauto://mapOpera?sourceApplication=" + appName + "&traffic=" + traffic + "&zoom=" + zoom + "&switchView=" + switchView); break; //12. 特殊点导航 回家/公司 case 11: /** * home回家 * crop回公司 */ String dest = "home"; openMapOperation("androidauto://navi2SpecialDest?sourceApplication=" + appName + "&dest=" + dest); break; //13. 全程概览 进入或退出全程概览状态。仅在导航引导状态下响应 case 12: /** * 0 进入全览 * 1 退出全览 */ int isShowPreview = 0; openMapOperation("androidauto://naviPreview?sourceApplication=" + appName + "&isShowPreview=" + isShowPreview); break; //14. 路线偏好 导航引导状态下,按偏好组合重新规划路线 case 13: //躲避拥堵 0开; 1关 int isAvoidJam = 0; //避免收费 0开; 1关 int isVoidCharge = 0; //不走高速 0开; 1关 int isAvoidHighway = 0; //高速优先 0开; 1关 int usingHighway = 0; openMapOperation("androidauto://naviRoutePrefer?sourceApplication=" + appName + "&isAvoidJam=" + isAvoidJam + "&isVoidCharge=" + isVoidCharge + "&isAvoidHighway=" + isAvoidHighway + "&usingHighway=" + usingHighway); break; //15. 路线偏好Ex 导航引导状态下,按规划原则重新规划路线 case 14: /** * 导航方式 0 速度快 1 费用少 2 路程短 3 不走高速 4 躲避拥堵 5 不走高速且避免收费 6 不走高速且躲避拥堵 7 躲避收费和拥堵 8 不走高速躲避收费和拥堵 */ int type = 0; openMapOperation("androidauto://naviRoutePreferEx?sourceApplication=" + appName + "&type=" + type); break; //16. 取消导航 退出导航引导状态,回主图 case 15: openMapOperation("androidauto://naviExit?sourceApplication=" + appName); break; //17. 退出高德地图车机版 退出高德地图车机版应用 case 16: openMapOperation("androidauto://appExit?sourceApplication=" + appName); break; //18. 打开收藏夹 打开“管理收藏夹”界面 case 17: openMapOperation("androidauto://openFavorite?sourceApplication=" + appName); break; } } /** * 启动地图操作 * * @param url */ private void openMapOperation(String url) { Intent intent = new Intent("android.in;, android.net.Uri.parse(url)); in("com.au;); in("android.in;); in); startActivity(intent); } }

最终实现的效果就是这个样子了

我只是把官网的api统一一下而已,并没有什么技术含量,只是为了方便自己以后调用而已,嘻嘻,有兴趣的可以观摩一下

源码:

可以加群聊聊:555974449

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何利用高德api批量转换坐标”边界阅读