Android 集成高德地图——当前定位,添加图标,画路线,设置显示中心位置(1)

本文介绍了如何在Android应用中集成高德地图,实现定位、添加图标并绘制路线。通过创建AMapLocationClient,设置定位参数,监听定位变化,展示定位信息。提供了一个简单的MainActivity代码示例,展示了如何获取经纬度,更新地图中心位置,并提供了相关资源链接。
摘要由CSDN通过智能技术生成

MainActivity代码

package com.example.navi_map;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.util.Log;

import android.widget.Toast;

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.AMap;

import com.amap.api.maps.CameraUpdateFactory;

import com.amap.api.maps.LocationSource;

import com.amap.api.maps.MapView;

import com.amap.api.maps.UiSettings;

import com.amap.api.maps.model.LatLng;

import java.text.SimpleDateFormat;

import java.util.Date;

public class MainActivity extends AppCompatActivity implements LocationSource, AMapLocationListener {

//AMap是地图对象

private AMap aMap;

private MapView mapView;

//声明AMapLocationClient类对象,定位发起端

private AMapLocationClient mLocationClient = null;

//声明mLocationOption对象,定位参数

public AMapLocationClientOption mLocationOption = null;

//声明mListener对象,定位监听器

private OnLocationChangedListener mListener = null;

//标识,用于判断是否只显示一次定位信息和用户重新定位

private boolean isFirstLoc = true;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//获取地图控件引用

mapView = (MapView) findViewById(R.id.map);

//在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),实现地图生命周期管理

mapView.onCreate(savedInstanceState);

if (aMap == null) {

aMap = mapView.getMap();

//设置显示定位按钮 并且可以点击

UiSettings settings = aMap.getUiSettings();

aMap.setLocationSource(this);//设置了定位的监听

// 是否显示定位按钮

settings.setMyLocationButtonEnabled(true);

aMap.setMyLocationEnabled(true);//显示定位层并且可以触发定位,默认是flase

}

//开始定位

location();

}

private void location() {

//初始化定位

mLocationClient = new AMapLocationClient(getApplicationContext());

//设置定位回调监听

mLocationClient.setLocationListener(this);

//初始化定位参数

mLocationOption = new AMapLocationClientOption();

//设置定位模式为Hight_Accuracy高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式

mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);

//设置是否返回地址信息(默

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值