创建项目 并配置清单文件
-
添加需要的权限
<!--6.0以后记得动态获取权限--> <!--允许程序打开网络套接字--> <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" />
-
application子标签设置高德Key
<meta-data android:name="com.amap.api.v2.apikey" android:value="你申请的Key" />
导入高德依赖
地图依赖:implementation 'com.amap.api:map2d:latest.integration'
搜索依赖:implementation 'com.amap.api:search:latest.integration'
导航依赖:implementation 'com.amap.api:navi-3dmap:latest.integration'
定位依赖:implementation 'com.amap.api:location:latest.integration'
* 获取POI数据(搜索)
/***
* @param keyWord 表示搜索字符串
* @param cityCode 表示POI搜索区域
*/
private void query(String keyWord ,String cityCode) {
PoiSearch.Query query = new PoiSearch.Query(, "", );
// 设置每页最多返回多少条poiitem
query.setPageSize(10);
//设置查询页码
query.setPageNum(1);
PoiSearch poiSearch = new PoiSearch(this, query);
//构造 PoiSearch 对象,并设置监听
poiSearch.searchPOIAsyn();
poiSearch.setOnPoiSearchListener(new PoiSearch.OnPoiSearchListener() {
@Override
public void onPoiSearched(PoiResult poiResult, int i) {
if (poiResult != null && i == 1000) {
for (PoiItem pois : poiResult.getPois()) {
LatLonPoint latLonPoint = pois.getLatLonPoint();
double latitude = latLonPoint.getLatitude();
double longitude = latLonPoint.getLongitude();
Log.d("##", "地点: " + pois.getTitle());
Log.d("##", "纬度: " + latitude);
Log.d("##", "经度: " + longitude);
}
}
}
@Override
public void onPoiItemSearched(PoiItem poiItem, int i) {
}
});
}