Android 使用高德SDK实现导航笔记,android热更新原理

实现逻辑

首先使用检索功能获取目的地的经纬度作为终点,使用定位功能获取当前位置的经纬度作为起点。然后将起始点传递给导航模块就可以了。

主要代码:

1.定位:

/**

  • 定位成功后回调函数

*/

@Override

public void onLocationChanged(AMapLocation aLocation) {

if (mListener != null && aLocation != null) {

double locateLat = aLocation.getLatitude();

double locateLng = aLocation.getLongitude();

if (0.0 == loca

Android 使用高德SDK实现导航笔记,android热更新原理_第1张图片

teLat || 0.0 == locateLng) {

MyLog.e("[Location]Error Location, not update map");

} else {

isLocated = true;

nowLatLng = new LatLng(locateLat, locateLng);

mListener.onLocationChanged(aLocation); // 显示系统小蓝点

}

MyLog.v("[Location]Lat:" + locateLat + “,Lng:” + locateLng);

}

}

2.进行POI检索

/**

  • 开始进行poi搜索

*/

protected void doSearchQuery() {

showProgressDialog(); // 显示进度框

currentPage = 0; // 重置页码

query = new PoiSearch.Query(keyWord, “”, editCity.getText().toString());// 第一个参数表示搜索字符串,第二个参数表示poi搜索类型,第三个参数表示poi搜索区域(空字符串代表全国)

query.setPageSize(10); // 设置每页最多返回多少条poiitem

query.setPageNum(currentPage);// 设置查第一页

poiSearch = new PoiSearch(this, query);

poiSearch.setOnPoiSearchListener(this);

poiSearch.searchPOIAsyn();

}

3.设置点击InfoWindow动作:

@Override

public View getInfoWindow(final Marker marker) {

View view = getLayoutInflater().inflate(R.layout.poikeywordsearch_uri,

null);

TextView title = (TextView) view.findViewById(R.id.title);

title.setText(marker.getTitle());

TextView snippet = (TextView) view.findViewById(R.id.snippet);

snippet.setText(marker.getSnippet());

ImageButton button = (ImageButton) view

.findViewById(R.id.start_amap_app);

button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// 导航

// 起点终点列表

ArrayList startPoints = new ArrayList();

ArrayList endPoints = new ArrayList();

LatLng endLatLng = marker.getPosition();

NaviLatLng endNaviLatLng = new NaviLatLng(endLatLng.latitude,

endLatLng.longitude);

endPoints.add(endNaviLatLng);

NaviLatLng startNaviLatLng = new NaviLatLng(nowLatLng.latitude,

nowLatLng.longitude);

startPoints.add(startNaviLatLng);

if (isLocated) {

最后

简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。

选定你想去的几家公司后,先去一些小的公司练练,学习下面试技巧,总结下,也算是熟悉下面试氛围,平时和同事或者产品PK时可以讲得头头是道,思路清晰至极,到了现场真的不一样,怎么描述你所做的一切,这绝对是个学术性问题!

面试过程一定要有礼貌!即使你觉得面试官不尊重你,经常打断你的讲解,或者你觉得他不如你,问的问题缺乏专业水平,你也一定要尊重他,谁叫现在是他选择你,等你拿到offer后就是你选择他了。

金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

Android 使用高德SDK实现导航笔记,android热更新原理_第2张图片
阶必备的一些学习技能。**

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

[外链图片转存中…(img-JvGLGebe-1647693315177)]

你可能感兴趣的:(程序员,经验分享,面试,android)