emmmm,高德好用
先上些图
搜索出来周围的地址,点击之后,利用正地理编码搜索获取经纬度
效果图
![这里写图片描述](https://img-blog.csdn.net/20180706101052576?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzODAyNDMx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
初始化地图的工具类
object InitAmap {
fun initAmap(aMap: AMap, locationSource: (LocationSource.OnLocationChangedListener?) -> Unit,
marker: (Marker) -> Boolean) {
aMap.uiSettings.isZoomControlsEnabled = false
// 设置地图默认的指南针是否显示
aMap.uiSettings.isCompassEnabled = false
// 设置定位监听
aMap.setLocationSource(object : LocationSource {
override fun deactivate() {
}
override fun activate(p0: LocationSource.OnLocationChangedListener?) {
locationSource(p0)
}
})
// 设置默认定位按钮是否显示
aMap.uiSettings.isMyLocationButtonEnabled = false
// 设置为true表示显示定位层并可触发定位,false表示隐藏定位层并不可触发定位,默认是false
aMap.isMyLocationEnabled = true
// aMap.setMyLocationType(AMap.LOCATION_TYPE_LOCATE)
aMap.setOnMarkerClickListener {
marker(it)
}
}
}
然后布局代码 activity_map_search
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.amap.api.maps.MapView
android:id="@+id/map_ams"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.amap.api.maps.MapView>
<android.support.v7.widget.RecyclerView
android:id="@+id/rlv_search_ams"
android:background="@color/colorWhite"
android:layout_width=