热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python实现轨迹回放_腾讯地图实现轨迹回放demo

前言在地图接入使用中,很多开发者咨询我们腾讯位置服务是否支持轨迹回放功能,所以今天特意将我们JavaScriptAPIGL的轨迹回放&小车移动示例放到

前言

在地图接入使用中,很多开发者咨询我们腾讯位置服务是否支持轨迹回放功能,所以今天特意将我们Javascript API GL的轨迹回放&小车移动示例放到我们本篇文章分享。

轨迹回放&小车移动

在Javascript API GL中,使用MultiMarker(点标记)中的moveAlong()方法 ,可以方便的实现轨迹回放功能,而且您可以对样式进行各种想要的修改,比如修改小车图片、不显示路线或者改成您想要的颜色等。

9cabb64facb84282834849f153e120e6~tplv-k3u1fbpfcp-watermark.image

代码

//初始化地图

var map = new TMap.Map("container", {

zoom: 15,

center: new TMap.LatLng(39.984104, 116.307503)

});

//小车移动路线

var path = [

new TMap.LatLng(39.98481500648338, 116.30571126937866),

new TMap.LatLng(39.982266575222155, 116.30596876144409),

new TMap.LatLng(39.982348784165886, 116.3111400604248),

new TMap.LatLng(39.978813710266024, 116.3111400604248),

new TMap.LatLng(39.978813710266024, 116.31699800491333)

];

//创建mareker(小车)

var marker = new TMap.MultiMarker({

map,

styles: { //样式设置

'car-down': new TMap.MarkerStyle({

'width': 40, //小车图片宽度(像素)

'height': 40, //高度

'anchor': { //图片中心的像素位置(小车会保持车头朝前,会以中心位置进行转向)

x: 20,y: 20,

},

'faceTo': 'map', //取’map’让小车贴于地面,faceTo取值说明请见下文图示

'rotate': 180, //初始小车朝向(正北0度,顺时针一周为360度,180为正南)

'src': './img/car.png', //小车图片(图中小车车头向上,即正北0度)

})

},

geometries: [{ //小车marker的位置信息

id: 'car', //因MultiMarker支持包含多个点标记,因此要给小车一个id

styleId: 'car-down', //绑定样式

position: new TMap.LatLng(39.98481500648338, 116.30571126937866),//初始坐标位置

}]

});

//调用moveAlong,实现小车移动

marker.moveAlong({

"car": { //设置让"car"沿"path"移动,速度70公里/小时

path,

speed: 70

}

}, {

autoRotation:true //车头始终向前(沿路线自动旋转)

}

)

关于MultiMarker的faceTo说明:

JavascriptAPI GL为可倾斜旋转的3D地图,这就带来了图片是贴在地面,还是贴向屏幕的问题:

faceTo: “map” 贴在地面,轨迹回放场景,车是要贴地的(左图)

faceTo:“screen” 贴在屏幕,小车场景就不合适了,它会始终“立着”(中图),"sreen"适合于标注位置使用(右图)

6abbd8774a604fe6924e4ad2408631ad~tplv-k3u1fbpfcp-watermark.image

视角跟随小车移动(近期推出,敬请期待)

小车延路线运动的同时,控制视角跟随小车运动,可以达到类似模拟导航、第三人称游戏视角的感觉,非常炫酷。

4f3fe936825b4c5b940bd305b467d6ea~tplv-k3u1fbpfcp-watermark.image



推荐阅读
  • 微信小程序中实现位置获取的全面指南
    本文详细介绍了如何在微信小程序中实现地理位置的获取,包括通过微信官方API和腾讯地图API两种方式。文中不仅涵盖了必要的准备工作,如申请开发者密钥、下载并配置SDK等,还提供了处理用户授权及位置信息获取的具体代码示例。 ... [详细]
  • 程序员如何优雅应对35岁职业转型?这里有深度解析
    本文探讨了程序员在职业生涯中如何通过不断学习和技能提升,优雅地应对35岁左右的职业转型挑战。我们将深入分析当前热门技术趋势,并提供实用的学习路径。 ... [详细]
  • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • MongoDB的核心特性与架构解析
    本文深入探讨了MongoDB的核心特性,包括其强大的查询语言、灵活的文档模型以及高效的索引机制。此外,还详细介绍了MongoDB的体系结构,解释了其文档、集合和数据库的层次关系,并对比了MongoDB与传统关系型数据库(如MySQL)的逻辑结构。 ... [详细]
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
  • 本文详细介绍了如何正确配置Java环境变量PATH,以确保JDK安装完成后能够正常运行。文章不仅涵盖了基本的环境变量设置步骤,还提供了针对不同操作系统下的具体操作指南。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 本文探讨了如何在 Pug 模板中正确地使用 JSON 插值,并解决了相关文档不足的问题。我们将介绍通过 gulp-pug 处理 JSON 数据的具体方法,以及如何在模板中插入和显示这些数据。 ... [详细]
  • 本文详细介绍了如何在Kendo UI for jQuery的数据管理组件中,将行标题字段呈现为锚点(即可点击链接),帮助开发人员更高效地实现这一功能。通过具体的代码示例和解释,即使是新手也能轻松掌握。 ... [详细]
  • Java多重继承的替代方案及设计考量
    本文探讨了Java为何不支持多重继承,并深入分析了其背后的原理和替代方案。通过理解Java的设计哲学,开发者可以更好地利用接口和其他特性来实现复杂的类结构。 ... [详细]
  • 前言无论是对于刚入行工作还是已经工作几年的java开发者来说,面试求职始终是你需要直面的一件事情。首先梳理自己的知识体系,针对性准备,会有事半功倍的效果。我们往往会把重点放在技术上 ... [详细]
  • 探索Squid反向代理中的远程代码执行漏洞
    本文深入探讨了在网站渗透测试过程中发现的Squid反向代理系统中存在的远程代码执行漏洞,旨在帮助网站管理者和开发者了解此类漏洞的危害及防范措施。 ... [详细]
  • 地球坐标、火星坐标及百度坐标间的转换算法 C# 实现
    本文介绍了WGS84坐标系统及其精度改进历程,探讨了火星坐标系统的安全性和应用背景,并详细解析了火星坐标与百度坐标之间的转换算法,提供了C#语言的实现代码。 ... [详细]
author-avatar
22222wxr
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有