精华内容
下载资源
问答
  • 在清单文件里面请自行到高德地图官网申请key进行替换,本demo是使用2D官方jar包,需要3D功能的可以自行到官方下载,demo比较简单注释非常详细,适合刚学习高德地图定位的朋友。
  • 高德地图Marker平滑移动,这是一个让marker在地图上平滑移动的demo
  • 高德地图轨迹平滑移动的官方demo做了一点改进,易于大家理解。
  • 高德地图平滑移动

    2017-10-18 10:38:58
    高德地图平滑移动高德地图平滑移动高德地图平滑移动高德地图平滑移动
  • 高德地图自定义平滑移动,效果比高德好
  • 移动高德地图marker

    千次阅读 2020-01-30 14:06:03
    移动高德地图marker 因为有移动地图marker的需求,所以这里做一些笔记 在网上我们会查到改变marker坐标的方法很简单,用以下方法就可以实现: marker.position = latLng 也就是将marker的经纬度重新设置下,...

    android移动高德地图marker点

    因为有移动地图marker点的需求,所以这里做一些笔记

    在网上我们会查到改变marker坐标的方法很简单,用以下方法就可以实现:

    marker.position = latLng
    

    也就是将marker的经纬度重新设置下,然后你会发现有时候有效果,大部分时候这个点刷新的不是很及时。

    后来参考了别人写的代码下知道了这个操作需要用动画,动画是高德地图自带的,听我们IOS讲IOS并没有这个动画API

    val animation = TranslateAnimation(latLng)
    animation.setDuration(300)
    marker.setAnimation(animation)
    marker.startAnimation()
    

    上述代码就可以很好的的解决此问题,对于实时移动地图点很有效果

    展开全文
  • 现在很多应用中,会用到轨迹功能,但轨迹何如移动的平滑、漂亮? 高德将“轨迹平滑移动”作为一个开发小技巧开放出
  • 高德地图获取中心,仿哈罗单车 中间可以获取周围的marker信息,打开注释即可
  • 里面包含了elementui结合高德地图的定位已经位置标记相关的资料,里面的定位组件下载就可使用,包含组件和说明文档。
  • 地图跟踪 http://blog.csdn.net/i_do_can/article/details/50571657
  • 项目里要用到定位,通过定位获取到经纬度以及地址,想都没想,用高德,毕竟是阿里巴巴旗下的,支持国产。高德官方地址:https://lbs.amap.com/getting-started/locate第一步 创建高德Key:带*号的填完后,点击提交,...

    项目里要用到定位,通过定位获取到经纬度以及地址,想都没想,用高德,毕竟是阿里巴巴旗下的,支持国产。

    高德官方地址:

    https://lbs.amap.com/getting-started/locate

    第一步  创建高德Key:

    2213a59ab5cd299daf4add5b54185b56.png

    53783814bb89bdaeb3ea695bbe118ac9.png

    9ddd1adfca5e9ae9527a7841ae6fcd86.png

    带*号的填完后,点击提交,获取SHA1值可以看我另一篇文章(通过代码获取的)或者通过命令行获取,两者都行。

    Android studio代码获取SHA1值

    https://mp.csdn.net/console/editor/html/108869249

    190de7d3980d8b84997d810dfdaa6268.png

    第二步  通过Gradle集成SDK(方便):

    1、在Project的build.gradle文件中配置repositories,添加maven或jcenter仓库地址:

    allprojects { repositories { jcenter() // 或者 mavenCentral() } }

    2、在主工程的build.gradle文件配置dependencies

      定位     

       implementation 'com.amap.api:location:latest.integration'

    第三步    配置参数

    第 1 步,配置AndroidManifest.xml

    请在application标签中声明service组件,每个app拥有自己单独的定位service。

    !-- 定位需要的服务 使用2.0的定位需要加上这个 --service android:name=\"com.amap.api.location.APSService\" /service 

    第2步,声明权限

    !--用于进行网络定位--< >uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"<>/uses-permission< >!--用于访问GPS定位--< >uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"<>/uses-permission< >!--用于获取运营商信息,用于支持提供运营商信息相关的接口--< >uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"<>/uses-permission< >!--用于访问wifi网络信息,wifi信息会用于进行网络定位--< >uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"<>/uses-permission< >!--用于获取wifi的获取权限,wifi信息会用来进行网络定位--< >uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"<>/uses-permission< >!--用于访问网络,网络定位需要上网--< >uses-permission android:name=\"android.permission.INTERNET\"<>/uses-permission< >!--用于读取手机当前的状态--< >uses-permission android:name=\"android.permission.READ_PHONE_STATE\"<>/uses-permission< >!--用于写入缓存数据到扩展存储卡--< >uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"<>/uses-permission< >!--用于申请调用A-GPS模块--< >uses-permission android:name=\"android.permission.ACCESS_LOCATION_EXTRA_COMMANDS\"<>/uses-permission 

    第3步,设置高德Key:

    meta-data android:name=\"com.amap.api.v2.apikey\" android:value=\"key\"/开发者申请的key       \n            \n>/meta-data//开发者申请的key

    第四步   获取定位数据

    在需要获取经纬度的页面调用如下代码,

     private AmapLocationUtil amapLocationUtil;
    if (null == amapLocationUtil) {
    amapLocationUtil = new AmapLocationUtil(MainActivity.this);
    }
    amapLocationUtil.initLocation();
    amapLocationUtil.startLocation();
    amapLocationUtil.setOnCallBackListener(new AmapLocationUtil.onCallBackListener() {
    @Override
    public void onCallBack(double longitude, double latitude, AMapLocation location, boolean isSucdess, String address) {
    //isSucdess true 定位成功 false 失败
    if(isSucdess){
    //定位成功
    Log.e("--->", "longitude" + longitude + "\n" + "latitude" + latitude + "\n" + "isSucdess" + isSucdess + "\n" + "address" + address);
    Log.e("--->",location.getProvince()+ "\n" +location.getCity()+ "\n" +location.getDistrict());

    }else{
    //定位失败,重试定位
    amapLocationUtil.startLocation();
    }

    }
    });

    注意:如果是在当前Activity实例化的,不要忘了销毁

    @Override
    protected void onDestroy() {
    super.onDestroy();
    amapLocationUtil.destroyLocation();
    }

    看到了代码里调用了AmapLocationUtil,这个是封装好的一个工具类,方便调用,代码如下:


    import android.content.Context;
    import android.util.Log;
    import com.amap.api.location.AMapLocation;
    import com.amap.api.location.AMapLocationClient;
    import com.amap.api.location.AMapLocationClientOption;
    import com.amap.api.location.AMapLocationListener;
    /**
    *
    * AmapLocationUtil
    */
    public class AmapLocationUtil {
    private Context mContext;
    private AMapLocationClient locationClient = null;
    private AMapLocationClientOption locationOption = null;
    public static double longitude = 0;
    public static double latitude = 0;
    private onCallBackListener mOnCallBackListener = null;


    public AmapLocationUtil(Context context) {
    this.mContext = context;

    }

    /**
    * 初始化定位
    */
    public void initLocation() {
    //初始化client
    if (null == locationClient) {
    locationClient = new AMapLocationClient(mContext);
    }
    locationOption = getDefaultOption();
    //设置定位参数
    locationClient.setLocationOption(locationOption);
    // 设置定位监听
    locationClient.setLocationListener(locationListener);

    }


    private AMapLocationClientOption getDefaultOption() {
    AMapLocationClientOption mOption = new AMapLocationClientOption();
    //如果网络可用就选择高精度
    if (NetworkUtils.isConnected()) {
    //可选,设置定位模式,可选的模式有高精度、仅设备、仅网络。默认为高精度模式
    mOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
    mOption.setGpsFirst(true);//可选,设置是否gps优先,只在高精度模式下有效。默认关闭
    }
    //否则就选择仅设备模式
    else {
    mOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Device_Sensors);//可选,设置定位模式,可选的模式有高精度、仅设备、仅网络。默认为高精度模式
    mOption.setGpsFirst(true);//可选,设置是否gps优先,只在高精度模式下有效。默认关闭
    }
    mOption.setHttpTimeOut(30000);//可选,设置网络请求超时时间。默认为30秒。在仅设备模式下无效
    mOption.setInterval(2000);//可选,设置定位间隔。默认为2秒
    mOption.setNeedAddress(true);//可选,设置是否返回逆地理地址信息。默认是true
    mOption.setOnceLocation(false);//可选,设置是否单次定位。默认是false
    mOption.setOnceLocationLatest(false);//可选,设置是否等待wifi刷新,默认为false.如果设置为true,会自动变为单次定位,持续定位时不要使用
    AMapLocationClientOption.setLocationProtocol(AMapLocationClientOption.AMapLocationProtocol.HTTP);//可选, 设置网络请求的协议。可选HTTP或者HTTPS。默认为HTTP
    mOption.setSensorEnable(true);//可选,设置是否使用传感器。默认是false
    mOption.setWifiScan(true); //可选,设置是否开启wifi扫描。默认为true,如果设置为false会同时停止主动刷新,停止以后完全依赖于系统刷新,定位位置可能存在误差
    mOption.setLocationCacheEnable(true); //可选,设置是否使用缓存定位,默认为true
    return mOption;
    }

    AMapLocationListener locationListener = new AMapLocationListener() {
    @Override
    public void onLocationChanged(AMapLocation location) {
    StringBuilder sb = new StringBuilder();
    if (null != location) {
    //errCode等于0代表定位成功,其他的为定位失败,具体的可以参照官网定位错误码说明
    if (location.getErrorCode() == 0) {
    longitude = location.getLongitude();
    latitude = location.getLatitude();
    String district = location.getDistrict();
    locationSuccess(longitude, latitude, true, location, district);
    //定位成功,停止定位:如果实时定位,就把stopLocation()关闭
    stopLocation();
    } else {

    //定位失败
    sb.append("定位失败" + "\n");
    sb.append("错误码:" + location.getErrorCode() + "\n");
    sb.append("错误信息:" + location.getErrorInfo() + "\n");
    sb.append("错误描述:" + location.getLocationDetail() + "\n");
    Log.e("---> 定位失败", sb.toString());
    LocationFarile(false, location);

    }
    } else {
    LocationFarile(false, location);

    }
    }
    };

    private void LocationFarile(boolean isSucdess, AMapLocation location) {
    if (mOnCallBackListener != null) {
    mOnCallBackListener.onCallBack(0, 0, location, false, "");
    }
    }

    public void locationSuccess(double longitude, double latitude, boolean isSucdess, AMapLocation location, String address) {
    if (mOnCallBackListener != null) {
    mOnCallBackListener.onCallBack(longitude, latitude, location, true, address);
    }
    }

    public void setOnCallBackListener(onCallBackListener listener) {
    this.mOnCallBackListener = listener;
    }

    public interface onCallBackListener {
    void onCallBack(double longitude, double latitude, AMapLocation location, boolean isSucdess, String address);
    }
    /**
    * 开始定位
    */
    public void startLocation() {
    locationClient.startLocation();
    }

    /**
    * 停止定位
    */
    public void stopLocation() {
    locationClient.stopLocation();
    }

    /**
    * 销毁定位
    */
    public void destroyLocation() {
    if (null != locationClient) {
    /**
    * 如果AMapLocationClient是在当前Activity实例化的,
    * 在Activity的onDestroy中一定要执行AMapLocationClient的onDestroy
    */
    locationClient.onDestroy();
    locationClient = null;
    locationOption = null;
    }
    }
    }
    展开全文
  • 主要功能就是从后台获取到司机的基本信息,根据其中的坐标信息展示到地图中,然后定时刷新司机信息,然后根据最新的坐标信息,对应的图标作出相应的移动。代码里原本有轨迹显示,不过效果不理想就注掉了,有哪位大佬...
  • js-vue-高德-实时定位.zip vue集成高德地图,实时定位用户当前位置经纬度,并在高德地图上显示具体位置 方法简便,丢入即可使用 vue集成高德地图,实时获取用户的位置经纬度,并在地图显示具体位置
  • android移动应用,使用高德卫星地图绘制地块的形状,计算周长、面积。使用我们的demo可以将改应用迅速集成到自己的应用场景中,避免了重复造轮子的问题
  • ![图片说明](https://img-ask.csdn.net/upload/201601/14/1452770447_524473.png) 很多个marker。LOG打印出了出发地跟终点的经纬度,就是没有线路出来。
  • 高德地图Marker拖动圆环范围 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间删除,谢谢您。]
  • 作者:小ADate:2020-08-20来源:AIRX社区微信公众号高德地图近期发布新版本10.60,上线AR导航功能,目前该功能可以在部分安卓手机上可以体验到。AR技术能将虚拟与现实联通,从视觉角度为导航提供了新的发展思路。...
    作者:小A
    Date:2020-08-20
    来源:AIRX社区微信公众号

    高德地图近期发布新版本10.60,上线AR导航功能,目前该功能可以在部分安卓手机上可以体验到。AR技术能将虚拟与现实联通,从视觉角度为导航提供了新的发展思路。

    91463142f17722464018084ff86e5f95.png

    来源:高德地图

    其实早在8月14日,高德地图宣布推出AR导航行业解决方案,通过技术赋能,让行车记录仪秒变AR导航神器,为用户带来部分高端豪车才有的AR实景导航、碰撞预警等安全辅助、精细化导航等功能。

    b081d56af8da48c58cdb1ffadca8f751.png

    来源:高德地图

    换句话说,这是一个能让AR导航“下凡”的解决方案。行车记录仪的摄像头在驾驶场景中将充当“眼睛”,记录仪通过Wi-Fi与导航应用联通,汽车中控屏作为视觉展示的终端。

    9ed4e60718186574d6c24ba6b85d0a38.png

    来源:高德地图

    现在,你不需要专门购买一辆支持AR导航的汽车,只需要有一款行车记录仪就有机会低成本地体验AR导航带来的驾驶乐趣!目前,盯盯拍、70迈、360、海康威视、第一现场、捷渡、保速捷等市场头部品牌已成为高德首批合作伙伴。

    6d17a7fa5acbcce15643d2853157cd94.png

    来源:高德地图

    奔驰也表示2021年奔驰S级将采用AR导航和3D眼动追踪功能,此前梅赛德斯(Mercedes)发布了一系列先进的MBUX信息娱乐系统,这些新的改进将于今年晚些时候面世,并发布全新的2021 Mercedes-Benz S-Class。这包括一个AR平视显示器,可以直接在驾驶员的视线内投射关键的导航信息,例如方向,车速和到目标的距离;直接在前挡风玻璃上显示即将到来的街道和指示转向的箭头等。

    26cdeecaa9c874fe580c0a946a91d2f0.png

    还包括由机载眼动跟踪技术提供支持的3D仪表盘。根据Car and Driver的说法,标准LCD显示屏位于附加的LCD开口格栅下方,该格栅与驾驶员头部同步移动,从而在过程中产生立体效果。挡风玻璃中的AR显示屏可提供水平10度和垂直5度的视野,据梅赛德斯公司称,显示器由一个高分辨率矩阵组成,该矩阵由130万个单独的镜子和一个高效光源组成,梅赛德斯通过将传统的液晶显示器与特殊的像素结构和可控制的LCD条纹掩模相结合,实现了立体3D效果。显示器中的眼睛跟踪系统可测量驾驶员的眼睛位置,然后在显示器上为每只眼睛显示不同的像素。

    展开全文
  • 高德地图——车随轨迹点移动

    千次阅读 2020-12-02 10:22:34
    高德地图中展示车辆轨迹有三种方法,一种方法是AMapUI的PathSimplifier创建巡航器来展示轨迹: 高德地图轨迹展示示例 第二种方法是使用moveAlong,moveAlong可以让marker按照给定的经纬度数组以指定的速度移动 高德...

    经常有人问怎么控制车辆车头方向随着行进方向改变, 怎么展示车辆运行轨迹
    在高德地图中展示车辆轨迹有三种方法,一种方法是AMapUI的PathSimplifier创建巡航器来展示轨迹:
    高德地图轨迹展示示例
    第二种方法是使用moveAlong,moveAlong可以让marker按照给定的经纬度数组以指定的速度移动
    高德地图轨迹回放示例
    第三中方法是使用moveTo,moveTo可以让marker以给定的速度从一个经纬度移动到另一个经纬度并自动调整车头方向(车头方向与起点到终点的直线平行)。也可以看做moveTo是moveAlong分步主动调用。

    下面的例子是对官方demo进行了简单修改,通过moveTo每隔一秒钟更新车辆位置实现轨迹回放在这里插入图片描述

    <!doctype html>
    <html>
    
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
        <link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css" />
        <script type="text/javascript"
            src="https://webapi.amap.com/maps?v=1.4.15&key=612bef20cf095403974d0b0cd170103e"></script>
        <style>
            html,
            body,
            #container {
                height: 100%;
                width: 100%;
            }
    
            .input-card .btn {
                margin-right: 1.2rem;
                width: 9rem;
            }
    
            .input-card .btn:last-child {
                margin-right: 0;
            }
        </style>
    </head>
    
    <body>
        <div id="container"></div>
        <div class="input-card">
            <h4>轨迹回放控制</h4>
        </div>
        <script>
            var marker
            var polylineList = [
                [118.626495, 32.05714], [118.626785, 32.057396], [118.626892, 32.057491], [118.62735, 32.057919], [118.627472, 32.058029], [118.627556, 32.058102], [118.627808, 32.058334], [118.628204, 32.058693], [118.62896, 32.059357], [118.629112, 32.059509], [118.629295, 32.059666], [118.629402, 32.05975], [118.629501, 32.05983], [118.629837, 32.060143], [118.629837, 32.060204], [118.630028, 32.060368], [118.630142, 32.060471], [118.630363, 32.060677], [118.630371, 32.060688], [118.630737, 32.061008], [118.630852, 32.061108], [118.630989, 32.061226], [118.631119, 32.061359], [118.631271, 32.061485], [118.631645, 32.061813], [118.63192, 32.062057], [118.63237, 32.062454], [118.632515, 32.062572], [118.632607, 32.062645], [118.632896, 32.062885], [118.632988, 32.062965], [118.633209, 32.063141], [118.633781, 32.06358], [118.634094, 32.063835], [118.634216, 32.063919], [118.634514, 32.064144], [118.634811, 32.064362], [118.634811, 32.064362], [118.63501, 32.064419], [118.635162, 32.064423], [118.6353, 32.064396], [118.635414, 32.064358], [118.635788, 32.064137], [118.635788, 32.064137], [118.635651, 32.063931], [118.635597, 32.063915], [118.635201, 32.064106]
            ]
    
            // map 建立地图容器  (级别 中心)
            var map = new AMap.Map('container', {
                zoom: 1,
                center: [116.469881, 39.993599],
                showIndoorMap: false,//隐藏地图自带的室内地图图层
            })
    
            //polyline画线 折线
            var polyline = new AMap.Polyline({
                path: polylineList,
                strokeColor: '#2f66ff',
                strokeOpacity: 1,
                strokeWeight: 4,
                strokeStyle: 'solid',
                strokeDasharray: [10, 5],
                geodesic: true,
            })
            polyline.setMap(map)
    
            //自适应所有的点 让点显示在可视区域内
            var overlaysList = map.getAllOverlays('polyline')
            map.setFitView(overlaysList)
    
            //让车根据轨迹走 
            var passedPolyline = new AMap.Polyline({
                map: map,
                strokeColor: "#AF5",  //线颜色
                strokeWeight: 4,      //线宽
            })
    
            //车开始坐标
            var marker = new AMap.Marker({
                map: map,
                position: [118.626495, 32.05714],
                icon: "https://webapi.amap.com/images/car.png",
                offset: new AMap.Pixel(-26, -13),
                autoRotation: true,
                angle: -90,
            });
            var i = 0, path = [];
            const timer = setInterval(() => {
                if (i === polylineList.length - 1) {
                    clearInterval(timer)
                }
                marker.moveTo(polylineList[i++], 300)
            }, 1000)
            marker.on('moving', function (e) {
                Array.prototype.push.apply(path, e.passedPath)
                passedPolyline.setPath(path);
            })
        </script>
    </body>
    
    </html>
    
    展开全文
  • 380页高德地图核心技术,介绍了高德在高精地图地面标识识别上的技术演进,这些技术手段在不同时期服务了高精地图产线需求,为高德地图构建高精度地图提供了基础的技术保证。包含了人工智能篇、前端&移动篇、汽车工程...
  • 高德地图位置之间的平滑移动

    千次阅读 2018-12-27 10:36:01
    List&...//然后把需要平滑移动坐标全部放入latLngs集合中 //下面就开始使用了 public void startMove() { LatLngBounds.Builder b = LatLngBounds.builder(); for (int i = 0; i &l...
  • //设置地图拖动监听 mAMap.setOnCameraChangeListener(this); // 绑定marker拖拽事件 // mAMap.setOnMarkerDragListener(this); //逆编码监听事件 // GeocodeSearch.OnGeocodeSearchListener, geocoderSearch....
  • 高德地图移动到指定经纬度

    千次阅读 2019-10-25 10:45:48
    //设置GisMap关键建筑快速移动 function GisMapMoveTo(lng, lat) { map.setCenter([lng, lat]); //设置地图中心 console.log("GIS当前中心已设为:" + lng.toFixed(6) + lat.toFixed(6)); } ...
  • 博客地址https://blog.csdn.net/qzltqdf3179103/article/details/80361636
  • 用于电子商务课程案例讲义。 上传的资源如果因版权、使用、内容完整度 等原因被举报并通过官方审核,将扣除通过该资源获得的全部积分
  • 整个APP使用kotlin语言的方式实现高德地图,地图选、聚合、地图截图、地图文字标注、地图基本操作、地图Marker自定义,Marker自定义弹窗、地图轨迹管理、轨迹平滑处理、Marker平滑移动、多类型路径规划、定位、...
  • 1. 创建map,初始化中心 var map = new AMap.Map("container", { center: [116.343328,39.949901], zoom: 14, dragEnable: true }); 2. 修改中心 map.setZoomAndCenter(14, [116.326655,39.899438]);
  • 主要介绍了在vue中高德地图引入和轨迹的绘制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 高德地图 用户位置动态移动 BG 最近帮朋友做做项目,一个打车app,我帮忙管理后台做个查看司机实时位置的页面,本着cv大法好的原则,东看看文档,西瞅瞅别人的demo,然后就整出来这么一个简单的小demo 功能 ...
  • 01—注册高德开发者注册高德开发者:滑到官网页面底部,选择Android地图SDK:点击左下方“下载完整示例代码”:进入到如下界面:02—获取地图服务key并下载SDK点击申请新版key,进入控制台应用创建页面:接下来我们...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,783
精华内容 2,713
关键字:

高德地图点移动