高德地图没有模拟导航模拟导航要怎么导航?

怎么使用高德地图定位和导航功能?
去到一个陌生的城市,我们往往会因为无法明辨位置方向感到茫然无措,这个时候地图就发挥了它的作用。现在我们常常会在手机里安装地图软件,可以通过手机软件导航来定位和寻找目的地。今天,小编就来说说怎么用高德地图进行定位和导航。
1、首先,我们需要通过应用市场下载安装高德地图到手机上。
2、打开手机上的高德地图,出现下图界面,地图上会自动出现我们当前的所在位置和周边情况。
3、点击屏幕右下角的加减号(或者直接用手指缩放),我们可以对地图进行缩放,放大地图就可以得到更加详细的位置信息。
4、在屏幕下方,我们可以看到路线、导航、更多等选项,我们可以选择【路线】,手机界面发生变换,我们可以在下图框选处输入目的地,默认的起点是你现在所在的位置(也可以进行修改)。
5、如下图,输入目的地后就会出现路线信息,默认显示的是公交路线。
6、我们也可以选择查看步行路线,如下图步行距离比较近,我们可以步行前往目的地。
7、如果你根据步行路线不能够很好的找到方向,就可以用上【步行导航】,点击屏幕右下角的【步行导航】,跳出提示打开GPS。
8、打开GPS后在点击步行导航,就进入了步行导航界面,我们只需根据导航提示行走就可以到达目的地。
如果本文对您有帮助请分享给您的好友,也可按Ctrl+D收藏本页面,谢谢!
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
在导航设置里还用设置什么
地图不会看
不联网不能用啊(window.slotbydup=window.slotbydup || []).push({
id: '2397579',
container: s,
size: '680,60',
display: 'inlay-fix'
高德地图模拟导航是什么 高德地图模拟导航怎么用
发表时间: 11:27:17|
编辑:无梦为安
授权:免费软件
大小:53.70MB
大小:简体中文
高德地图林志玲语音语音包是一款专为高德地图用户准备的福利,喜欢林志...
高德地图导航是什么1、打开高德地图,在主界面中,点击【路线】选项2、进入如图界面,输入终点位置,点击【搜索】3、图中可以看到路线详细情况介绍和【导航】选项,点击详细情况,也就是图中红色方框部分4、看到详细情况以后,藏在最底下就可以找到【模拟导航】5、点击【模拟导航】即可进入模拟导航界面,开始模拟导航。跟实际情况基本相同,一般采用高速进行了解,大家可以根据实际情况使用。
专业的单机游戏下载网站 91 () 打造不一样的 单机游戏下载基地36323人阅读
Android开发(2)
一、基础地图部分
1.获取APPKey
在高德地图注册开发者账号,然后创建应用,使用SHA1和PackageName得到Key
创建应用的链接:/
创建应用 &输入你的应用名称 选择你的应用类型 点击确定
点击确定之后得到这么一个东西点击添加新key &输入完毕后再下方点击提交 & 获取SHA1值以及应用包名见下方
获取SHA1值方法:
首先使用cmd 打开dos窗口
输入cd .android 切换到 .android目录
使用keytool工具获取签名的SHA1值 输入命令:keytool -list -v -keystore debug.keystore 秘钥口令输入 android 或者直接回车
这里的指纹整数有MD5、SHA1、SHA256 这样就拿到了上面需要的SHA1值
获取应用包名:
打开你的gradle文件
这就是你的应用包名
提交之后得到的AppKey:
下载地址:/api/android-sdk/down/
定位SDK下载地址:/api/android-location-sdk/download/
3.导入项目
把下载下来的压缩包解压,里面的jar包放到项目的libs目录下
然后Add As Library
集成高德地图需要用到.so文件 & &解压得到的.so文件 目录里面就是所需的.so文件
在main目录下创建jniLibs目录 注意是main目录 & &将解压得到的.so文件连带目录都copy到jniLibs目录下
4.配置清单文件
在AndroidManifest.xml里面添加你的AppKey
&meta-data
android:name=&com.amap.api.v2.apikey&
android:value=&99ac75ad4aa47d9b865cee7c3ef31a89&/&
在AndroidManifest.xml中添加用户权限
//地图包、搜索包需要的基础权限
&uses-permission android:name=&android.permission.INTERNET& /&
&uses-permission android:name=&android.permission.WRITE_EXTERNAL_STORAGE& /&
&uses-permission android:name=&android.permission.ACCESS_NETWORK_STATE& /&
&uses-permission android:name=&android.permission.ACCESS_WIFI_STATE& /&
&uses-permission android:name=&android.permission.READ_PHONE_STATE& /&
&uses-permission android:name=&android.permission.ACCESS_COARSE_LOCATION& /&
//定位包、导航包需要的额外权限(注:基础权限也需要)
&uses-permission android:name=&android.permission.ACCESS_FINE_LOCATION& /&
&uses-permission android:name=&android.permission.ACCESS_LOCATION_EXTRA_COMMANDS& /&
&uses-permission android:name=&android.permission.CHANGE_WIFI_STATE& /&
&uses-permission android:name=&android.permission.CHANGE_CONFIGURATION&/&
&uses-permission android:name=&android.permission.WRITE_SETTINGS&/&
配置Service
&service android:name=&com.amap.api.location.APSService&/&
5.布局文件:
在布局文件中添加地图控件
&?xml version=&1.0& encoding=&utf-8&?&
&RelativeLayout xmlns:android=&/apk/res/android&
xmlns:tools=&/tools&
android:layout_width=&match_parent&
android:layout_height=&match_parent&
tools:context=&.gaodemapdemo.ShowMapActivity&&
&!-- 引入布局文件 --&
&com.amap.api.maps.MapView
xmlns:android=&/apk/res/android&
android:id=&@+id/map&
android:layout_width=&match_parent&
android:layout_height=&match_parent& /&
&/RelativeLayout&
6.正式开始写代码了
1.基础地图显示
初始化地图控件 管理地图控件生命周期
import android.support.v7.app.AppCompatA
import android.os.B
import com.amap.api.maps.MapV
public class ShowMapActivity extends AppCompatActivity {
private MapView mapV
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_map);
//初始化地图控件
mapView = (MapView) findViewById(R.id.map);
//必须要写
mapView.onCreate(savedInstanceState);
* 方法必须重写
protected void onResume() {
super.onResume();
mapView.onResume();
* 方法必须重写
protected void onPause() {
super.onPause();
mapView.onPause();
* 方法必须重写
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mapView.onSaveInstanceState(outState);
* 方法必须重写
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
2.定位功能实现
效果图以及Log
效果图和基础地图的效果图没什么区别,因为我既没有设置中心点也没有设置marker,但是我获取到了位置,那么定位完毕后添加一个中心点,一个marker就可以完成基础地图+定位+marker的效果了
先把定位的所有代码贴出来
import android.app.A
import android.os.B
import android.util.L
import com.amap.api.location.AMapL
import com.amap.api.location.AMapLocationC
import com.amap.api.location.AMapLocationClientO
import com.amap.api.location.AMapLocationL
import com.amap.api.maps.AM
import com.amap.api.maps.MapV
import java.text.SimpleDateF
import java.util.D
public class ShowMapActivity extends Activity {
private MapView mapV
private AMap aM
//声明AMapLocationClient类对象
public AMapLocationClient mLocationClient =
//声明定位回调监听器
public AMapLocationListener mLocationListener = new AMapLocationListener() {
public void onLocationChanged(AMapLocation amapLocation) {
if (amapLocation != null) {
if (amapLocation.getErrorCode() == 0) {
//定位成功回调信息,设置相关消息
amapLocation.getLocationType();//获取当前定位结果来源,如网络定位结果,详见定位类型表
amapLocation.getLatitude();//获取纬度
amapLocation.getLongitude();//获取经度
amapLocation.getAccuracy();//获取精度信息
SimpleDateFormat df = new SimpleDateFormat(&yyyy-MM-dd HH:mm:ss&);
Date date = new Date(amapLocation.getTime());
df.format(date);//定位时间
amapLocation.getAddress();//地址,如果option中设置isNeedAddress为false,则没有此结果,网络定位结果中会有地址信息,GPS定位不返回地址信息。
amapLocation.getCountry();//国家信息
amapLocation.getProvince();//省信息
amapLocation.getCity();//城市信息
amapLocation.getDistrict();//城区信息
amapLocation.getStreet();//街道信息
amapLocation.getStreetNum();//街道门牌号信息
amapLocation.getCityCode();//城市编码
amapLocation.getAdCode();//地区编码
amapLocation.getAoiName();//获取当前定位点的AOI信息
lat = amapLocation.getLatitude();
lon = amapLocation.getLongitude();
Log.v(&pcw&,&lat : &+lat+& lon : &+lon);
//显示错误信息ErrCode是错误码,errInfo是错误信息,详见错误码表。
Log.e(&AmapError&, &location Error, ErrCode:&
+ amapLocation.getErrorCode() + &, errInfo:&
+ amapLocation.getErrorInfo());
//声明mLocationOption对象
public AMapLocationClientOption mLocationOption =
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_map);
mapView = (MapView) findViewById(R.id.map);
mapView.onCreate(savedInstanceState);//必须要写
//初始化定位
mLocationClient = new AMapLocationClient(getApplicationContext());
//设置定位回调监听
mLocationClient.setLocationListener(mLocationListener);
* * 初始化AMap对象
private void init() {
if (aMap == null) {
aMap = mapView.getMap();
setUpMap();
private void setUpMap() {
//初始化定位参数
mLocationOption = new AMapLocationClientOption();
//设置定位模式为高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式
mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
//设置是否返回地址信息(默认返回地址信息)
mLocationOption.setNeedAddress(true);
//设置是否只定位一次,默认为false
mLocationOption.setOnceLocation(false);
//设置是否强制刷新WIFI,默认为强制刷新
mLocationOption.setWifiActiveScan(true);
//设置是否允许模拟位置,默认为false,不允许模拟位置
mLocationOption.setMockEnable(false);
//设置定位间隔,单位毫秒,默认为2000ms
mLocationOption.setInterval(2000);
//给定位客户端对象设置定位参数
mLocationClient.setLocationOption(mLocationOption);
//启动定位
mLocationClient.startLocation();
* 方法必须重写
protected void onResume() {
super.onResume();
mapView.onResume();
* 方法必须重写
protected void onPause() {
super.onPause();
mapView.onPause();
protected void onStop() {
super.onStop();
mLocationClient.stopLocation();//停止定位
* 方法必须重写
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mapView.onSaveInstanceState(outState);
* 方法必须重写
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
mLocationClient.onDestroy();//销毁定位客户端。
这里面有一个地方千万要记住,一定要在AndroidManifest.xml中注册广播 &否则定位会失败
&service android:name=&com.amap.api.location.APSService&/&
下面来讲讲这段代码里面几个组成:
初始化定位
//初始化定位
mLocationClient = new AMapLocationClient(getApplicationContext());
//设置定位回调监听
mLocationClient.setLocationListener(mLocationListener);
初始化AMap对象
* * 初始化AMap对象
private void init() {
if (aMap == null) {
aMap = mapView.getMap();
setUpMap();
配置定位参数并开始定位
* 配置定位参数
private void setUpMap() {
//初始化定位参数
mLocationOption = new AMapLocationClientOption();
//设置定位模式为高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式
mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
//设置是否返回地址信息(默认返回地址信息)
mLocationOption.setNeedAddress(true);
//设置是否只定位一次,默认为false
mLocationOption.setOnceLocation(false);
//设置是否强制刷新WIFI,默认为强制刷新
mLocationOption.setWifiActiveScan(true);
//设置是否允许模拟位置,默认为false,不允许模拟位置
mLocationOption.setMockEnable(false);
//设置定位间隔,单位毫秒,默认为2000ms
mLocationOption.setInterval(2000);
//给定位客户端对象设置定位参数
mLocationClient.setLocationOption(mLocationOption);
//启动定位
mLocationClient.startLocation();
在onStop里面停止定位
protected void onStop() {
super.onStop();
mLocationClient.stopLocation();//停止定位
在onDestory方法里面销毁定位
* 方法必须重写
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
mLocationClient.onDestroy();//销毁定位客户端。
设置定位监听,在监听中可以获取定位的一系列数据
* 声明定位回调监听器
public AMapLocationListener mLocationListener = new AMapLocationListener() {
public void onLocationChanged(AMapLocation amapLocation) {
if (amapLocation != null) {
if (amapLocation.getErrorCode() == 0) {
//定位成功回调信息,设置相关消息
amapLocation.getLocationType();//获取当前定位结果来源,如网络定位结果,详见定位类型表
amapLocation.getLatitude();//获取纬度
amapLocation.getLongitude();//获取经度
amapLocation.getAccuracy();//获取精度信息
SimpleDateFormat df = new SimpleDateFormat(&yyyy-MM-dd HH:mm:ss&);
Date date = new Date(amapLocation.getTime());
df.format(date);//定位时间
amapLocation.getAddress();//地址,如果option中设置isNeedAddress为false,则没有此结果,网络定位结果中会有地址信息,GPS定位不返回地址信息。
amapLocation.getCountry();//国家信息
amapLocation.getProvince();//省信息
amapLocation.getCity();//城市信息
amapLocation.getDistrict();//城区信息
amapLocation.getStreet();//街道信息
amapLocation.getStreetNum();//街道门牌号信息
amapLocation.getCityCode();//城市编码
amapLocation.getAdCode();//地区编码
amapLocation.getAoiName();//获取当前定位点的AOI信息
lat = amapLocation.getLatitude();
lon = amapLocation.getLongitude();
Log.v(&pcw&,&lat : &+lat+& lon : &+lon);
//显示错误信息ErrCode是错误码,errInfo是错误信息,详见错误码表。
Log.e(&AmapError&, &location Error, ErrCode:&
+ amapLocation.getErrorCode() + &, errInfo:&
+ amapLocation.getErrorInfo());
3.设置中心点以及marker
有了效果图 &那么我把基础地图+定位+marker的代码贴出来
import android.app.A
import android.graphics.BitmapF
import android.os.B
import android.util.L
import com.amap.api.location.AMapL
import com.amap.api.location.AMapLocationC
import com.amap.api.location.AMapLocationClientO
import com.amap.api.location.AMapLocationL
import com.amap.api.maps.AM
import com.amap.api.maps.CameraUpdateF
import com.amap.api.maps.MapV
import com.amap.api.maps.model.BitmapD
import com.amap.api.maps.model.BitmapDescriptorF
import com.amap.api.maps.model.LatL
import com.amap.api.maps.model.MarkerO
import java.text.SimpleDateF
import java.util.D
public class ShowMapActivity extends Activity {
private MapView mapV
private AMap aM
//声明AMapLocationClient类对象
public AMapLocationClient mLocationClient =
* 声明定位回调监听器
public AMapLocationListener mLocationListener = new AMapLocationListener() {
public void onLocationChanged(AMapLocation amapLocation) {
if (amapLocation != null) {
if (amapLocation.getErrorCode() == 0) {
//定位成功回调信息,设置相关消息
amapLocation.getLocationType();//获取当前定位结果来源,如网络定位结果,详见定位类型表
amapLocation.getLatitude();//获取纬度
amapLocation.getLongitude();//获取经度
amapLocation.getAccuracy();//获取精度信息
SimpleDateFormat df = new SimpleDateFormat(&yyyy-MM-dd HH:mm:ss&);
Date date = new Date(amapLocation.getTime());
df.format(date);//定位时间
amapLocation.getAddress();//地址,如果option中设置isNeedAddress为false,则没有此结果,网络定位结果中会有地址信息,GPS定位不返回地址信息。
amapLocation.getCountry();//国家信息
amapLocation.getProvince();//省信息
amapLocation.getCity();//城市信息
amapLocation.getDistrict();//城区信息
amapLocation.getStreet();//街道信息
amapLocation.getStreetNum();//街道门牌号信息
amapLocation.getCityCode();//城市编码
amapLocation.getAdCode();//地区编码
amapLocation.getAoiName();//获取当前定位点的AOI信息
lat = amapLocation.getLatitude();
lon = amapLocation.getLongitude();
Log.v(&pcw&, &lat : & + lat + & lon : & + lon);
Log.v(&pcw&, &Country : & + amapLocation.getCountry() + & province : & + amapLocation.getProvince() + & City : & + amapLocation.getCity() + & District : & + amapLocation.getDistrict());
// 设置当前地图显示为当前位置
aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, lon), 19));
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(new LatLng(lat, lon));
markerOptions.title(&当前位置&);
markerOptions.visible(true);
BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.location_marker));
markerOptions.icon(bitmapDescriptor);
aMap.addMarker(markerOptions);
//显示错误信息ErrCode是错误码,errInfo是错误信息,详见错误码表。
Log.e(&AmapError&, &location Error, ErrCode:&
+ amapLocation.getErrorCode() + &, errInfo:&
+ amapLocation.getErrorInfo());
//声明mLocationOption对象
public AMapLocationClientOption mLocationOption =
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_map);
mapView = (MapView) findViewById(R.id.map);
mapView.onCreate(savedInstanceState);//必须要写
//初始化定位
mLocationClient = new AMapLocationClient(getApplicationContext());
//设置定位回调监听
mLocationClient.setLocationListener(mLocationListener);
* * 初始化AMap对象
private void init() {
if (aMap == null) {
aMap = mapView.getMap();
setUpMap();
* 配置定位参数
private void setUpMap() {
//初始化定位参数
mLocationOption = new AMapLocationClientOption();
//设置定位模式为高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式
mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
//设置是否返回地址信息(默认返回地址信息)
mLocationOption.setNeedAddress(true);
//设置是否只定位一次,默认为false
mLocationOption.setOnceLocation(false);
//设置是否强制刷新WIFI,默认为强制刷新
mLocationOption.setWifiActiveScan(true);
//设置是否允许模拟位置,默认为false,不允许模拟位置
mLocationOption.setMockEnable(false);
//设置定位间隔,单位毫秒,默认为2000ms
mLocationOption.setInterval(2000);
//给定位客户端对象设置定位参数
mLocationClient.setLocationOption(mLocationOption);
//启动定位
mLocationClient.startLocation();
* 方法必须重写
protected void onResume() {
super.onResume();
mapView.onResume();
* 方法必须重写
protected void onPause() {
super.onPause();
mapView.onPause();
protected void onStop() {
super.onStop();
mLocationClient.stopLocation();//停止定位
* 方法必须重写
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mapView.onSaveInstanceState(outState);
* 方法必须重写
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
mLocationClient.onDestroy();//销毁定位客户端。
代码实际上没什么难度,也不多,下面我把设置marker的代码贴出来
// 设置当前地图显示为当前位置
aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, lon), 19));
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(new LatLng(lat, lon));
markerOptions.title(&当前位置&);
markerOptions.visible(true);
BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.location_marker));
markerOptions.icon(bitmapDescriptor);
aMap.addMarker(markerOptions);
好了,到这里 基础地图+定位+marker就做出来了
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:52703次
排名:千里之外
评论:18条请登陆后使用
只需一步,快速开始
请完成以下验证码
请完成以下验证码
吧友自助信息发布区,请自行甄别
查看: 208|回复: 0
表哥们,高德模拟器怎么驾车导航
Powered by我要发布安卓地图
查看: 1633|回复: 7
请问一下:高德手机地图6.2.1版本有否模拟导航功能?
发布安卓地图
支持分辨率(可多选):
资源分类(可多选):
昨晚下载试装了安卓高德手机地图6.2.1,配上离线地图数据后运行了一下,怎么找也没发现模拟导航按钮,先请问一下各位:是确实没有这个功能呢,还是我没挖掘出来?求赐教。
没有,明显不如百度。
没有模拟导航,这一点明显不足
本帖最后由 goofydog 于
19:05 编辑
个人理解:高德地图是到某地后查找吃喝玩乐等地点用的;高德导航才是导航用的,尤其是长距离。高德分类明确
所以我手机装地图,平板装导航,使用分工也很明确
这应该也是百度在地图完善后,还要出导航的原因
没有用不发言,只装了高德导航!
我在用的也是高德导航公众版,想尝鲜,试装了高德手机地图。&
下载这个可以模拟
本帖子中包含更多资源
才可以下载或查看,没有帐号?
谢谢提示,在考察它的功能是不是比百度手机地图要好一些。&
Powered by}

我要回帖

更多关于 高德模拟导航 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信