高德地图搜索附近列表展示并导航
记录:高德地图用户MD5安全码未通过问题
转载于:Android 高德地图开发,手机显示用户MD5安全码未通过
导航的页面没有写好,请自行更改新手写的不好见谅。如果你有更好的方案可以一起讨论。话不多说直接上代码。
我使用的是3D地图,导入项目参考官方文档
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.ListView;
import com.amap.api.location.AMapLocation;
import com.amap.api.location.AMapLocationClient;
import com.amap.api.location.AMapLocationClientOption;
import com.amap.api.location.AMapLocationListener;
import com.amap.api.maps.LocationSource;
import com.amap.api.services.core.LatLonPoint;
import com.amap.api.services.core.PoiItem;
import com.amap.api.services.poisearch.Photo;
import com.amap.api.services.poisearch.PoiResult;
import com.amap.api.services.poisearch.PoiSearch;
import java.util.ArrayList;
import java.util.List;
public class MainActivity4 extends Activity {
private EditText editText;
private ListView listView;
//声明AMapLocationClient类对象
public AMapLocationClient mLocationClient = null;
//声明AMapLocationClientOption对象
public AMapLocationClientOption mLocationOption = new AMapLocationClientOption();
private List<PoiItem> list = new ArrayList<>(); //存储PoiItem的信息
private Double slat = 0.00; //开始位置的纬度
private Double slon = 0.00; //开始位置的经度
private Double dlat = 0.00; //到达位置的纬度
private Double dlon = 0.00; //到达位置的经度
private String content = ""; //初始化要查询的信息
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main4);
listView = (ListView) findViewById(R.id.listView);
editText = (EditText) findViewById(R.id.editText);
//初始化client
mLocationClient = new AMapLocationClient(MainActivity4.this.getApplicationContext());
start();
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
dlat = list.get(position).getLatLonPoint().getLatitude();
dlon = list.get(position).getLatLonPoint().getLongitude();
Intent intent = new Intent(MainActivity4.this,MainActivity5.class);
intent.putExtra("slat",slat);
intent.putExtra("slon",slon);
intent.putExtra("dlat",dlat);
intent.putExtra("dlon",dlon);
startActivity(intent);
}
});
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
System.out.println("1======="+s.toString());
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
content = s.toString(); //获得要查询的信息
start(); //获得之后开始调用(这里有些问题不想改了)
}
@Override
public void <