1.依赖
在defaultConfig中导入
defaultConfig {
ndk {
//设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
abiFilters “armeabi”, “armeabi-v7a”, “arm64-v8a”, “x86”,“x86_64”
}
}
2.网络权限
3.注册自己的appkey
<meta-data android:name="com.amap.api.v2.apikey"android:value=“606624a932f964f7c4a1e3437d19df8d”>
4.Activity代码
public class GdActivity extends AppCompatActivity {
@BindView(R.id.mapview)
MapView mapview;
private AMap aMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gd);
ButterKnife.bind(this);
mapview.onCreate(savedInstanceState);
if(aMap==null){
aMap=mapview.getMap();
}
MyLocationStyle myLocationStyle;
myLocationStyle = new MyLocationStyle();//初始化定位蓝点样式类myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE);//连续定位、且将视角移动到地图中心点,定位点依照设备方向旋转,并且会跟随设备移动。(1秒1次定位)如果不设置myLocationType,默认也会执行此种模式。
myLocationStyle.interval(2000); //设置连续定位模式下的定位间隔,只在连续定位模式下生效,单次定位模式下不会生效。单位为毫秒。
aMap.setMyLocationStyle(myLocationStyle);//设置定位蓝点的Style
aMap.getUiSettings().setMyLocationButtonEnabled(true);//设置默认定位按钮是否显示,非必需设置。
aMap.setMyLocationEnabled(true);// 设置为true表示启动显示定位蓝点,false表示隐藏定位蓝点并不进行定位,默认是false。
myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_SHOW);//只定位一次。
myLocationStyle.showMyLocation(true);//设置是否显示定位小蓝点,用于满足只想使用定位,不想使用定位小蓝点的场景,设置false以后图面上不再有定位蓝点的概念,但是会持续回调位置信息。
}
@Override
protected void onDestroy() {
super.onDestroy();
mapview.onDestroy();
}
@Override
protected void onResume() {
super.onResume();
mapview.onResume();
}
@Override
protected void onPause() {
super.onPause();
mapview.onPause();
}
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
mapview.onSaveInstanceState(outState);
}
}