当前位置: 首页 > wzjs >正文

石家庄做建站模板今日热点新闻排行榜

石家庄做建站模板,今日热点新闻排行榜,华龙网,南通网站建设找哪家好使用高德下载步行路径数据 下载入口 复制代码到右侧代码框(在文本最后)点击运行(!!!关键步骤) 依次点击“拾取起点”、“拾取终点”、“规划路径” 界面左下角会出现保存按钮,即可…

使用高德下载步行路径数据

下载入口
在这里插入图片描述

  1. 复制代码到右侧代码框(在文本最后)
  2. 点击运行(!!!关键步骤
    在这里插入图片描述
  3. 依次点击“拾取起点”、“拾取终点”、“规划路径”
    在这里插入图片描述
  4. 界面左下角会出现保存按钮,即可保存路径数据.(推荐保存geojson数据)

在这里插入图片描述
5. 注意高德爬取出的数据的坐标是gcj02。不是wgs1984。注意坐标转换后再使用
在这里插入图片描述

<!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"><title>位置经纬度 + 步行路线规划</title><style type="text/css">html,body,#container {width: 100%;height: 100%;}#panel {position: fixed;background-color: white;max-height: 90%;overflow-y: auto;top: 10px;right: 10px;width: 280px;}#panel .amap-call {background-color: #009cf9;border-top-left-radius: 4px;border-top-right-radius: 4px;}#panel .amap-lib-walking {border-bottom-left-radius: 4px;border-bottom-right-radius: 4px;overflow: hidden;}#saveButton {position: fixed;bottom: 20px;left: 20px;padding: 10px 15px;background-color: #009cf9;color: white;border: none;border-radius: 4px;cursor: pointer;font-size: 14px;}#saveGeoJSONButton {position: fixed;bottom: 20px;left: 180px;padding: 10px 15px;background-color: #00cc66;color: white;border: none;border-radius: 4px;cursor: pointer;font-size: 14px;}#saveButton:hover, #saveGeoJSONButton:hover {opacity: 0.8;}#controlPanel {position: fixed;top: 10px;left: 10px;background-color: white;padding: 10px;border-radius: 4px;box-shadow: 0 2px 6px rgba(0,0,0,0.3);z-index: 100;}.control-button {margin: 5px 0;padding: 8px 12px;background-color: #009cf9;color: white;border: none;border-radius: 4px;cursor: pointer;width: 100%;}.control-button:hover {background-color: #0080cc;}.control-button.active {background-color: #ff6600;}.coordinates {margin-top: 10px;font-size: 12px;}</style><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=您申请的key值&plugin=AMap.Walking"></script><script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script><script type="text/javascript" src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
</head>
<body>
<div id="container"></div>
<div id="panel"></div>
<div id="controlPanel"><button id="startPointBtn" class="control-button">拾取起点</button><button id="endPointBtn" class="control-button">拾取终点</button><button id="planRouteBtn" class="control-button" disabled>规划路线</button><div class="coordinates"><div>起点: <span id="startCoord">未设置</span></div><div>终点: <span id="endCoord">未设置</span></div></div>
</div>
<button id="saveButton" style="display:none;">保存路径数据为JSON</button>
<button id="saveGeoJSONButton" style="display:none;">保存为GeoJSON</button>
<script type="text/javascript">var map = new AMap.Map("container", {resizeEnable: true,center: [104.3903, 31.140889],//地图中心点zoom: 13 //地图显示的缩放级别});// 存储路径规划结果var routeResult = null;// 存储起点和终点var startPoint = null;var endPoint = null;var startMarker = null;var endMarker = null;// 当前模式:'start', 'end', 或 nullvar currentMode = null;// 步行导航var walking = new AMap.Walking({map: map,panel: "panel"}); // 设置点击事件map.on('click', function(e) {if (currentMode === 'start') {setStartPoint(e.lnglat);} else if (currentMode === 'end') {setEndPoint(e.lnglat);}});// 设置起点function setStartPoint(lnglat) {startPoint = [lnglat.getLng(), lnglat.getLat()];document.getElementById('startCoord').innerText = startPoint.join(', ');// 移除旧标记if (startMarker) {map.remove(startMarker);}// 添加新标记startMarker = new AMap.Marker({position: startPoint,map: map,icon: 'https://webapi.amap.com/theme/v1.3/markers/n/start.png',title: '起点'});// 重置模式setMode(null);// 检查是否可以规划路线checkPlanRouteButton();}// 设置终点function setEndPoint(lnglat) {endPoint = [lnglat.getLng(), lnglat.getLat()];document.getElementById('endCoord').innerText = endPoint.join(', ');// 移除旧标记if (endMarker) {map.remove(endMarker);}// 添加新标记endMarker = new AMap.Marker({position: endPoint,map: map,icon: 'https://webapi.amap.com/theme/v1.3/markers/n/end.png',title: '终点'});// 重置模式setMode(null);// 检查是否可以规划路线checkPlanRouteButton();}// 设置当前模式function setMode(mode) {currentMode = mode;// 更新按钮状态document.getElementById('startPointBtn').classList.remove('active');document.getElementById('endPointBtn').classList.remove('active');if (mode === 'start') {document.getElementById('startPointBtn').classList.add('active');map.setDefaultCursor('crosshair');} else if (mode === 'end') {document.getElementById('endPointBtn').classList.add('active');map.setDefaultCursor('crosshair');} else {map.setDefaultCursor('default');}}// 检查规划路线按钮状态function checkPlanRouteButton() {var planButton = document.getElementById('planRouteBtn');if (startPoint && endPoint) {planButton.disabled = false;} else {planButton.disabled = true;}}// 规划路线function planRoute() {if (!startPoint || !endPoint) {alert('请先设置起点和终点');return;}// 清除之前的路线walking.clear();// 规划新路线walking.search(startPoint, endPoint, function(status, result) {if (status === 'complete') {log.success('绘制步行路线完成');routeResult = result;document.getElementById('saveButton').style.display = 'block';document.getElementById('saveGeoJSONButton').style.display = 'block';} else {log.error('步行路线数据查询失败' + result);alert('路径规划失败,请尝试其他位置');} });}// 保存JSON数据的函数function saveRouteAsJSON() {if (!routeResult) {alert('没有可用的路径数据');return;}// 创建一个Blob对象var dataStr = JSON.stringify(routeResult, null, 2);var blob = new Blob([dataStr], {type: 'application/json'});// 创建一个下载链接var url = URL.createObjectURL(blob);var a = document.createElement('a');a.href = url;a.download = '步行路径规划结果.json';// 触发点击事件下载文件document.body.appendChild(a);a.click();// 清理setTimeout(function() {document.body.removeChild(a);window.URL.revokeObjectURL(url);}, 0);}// 将路径数据转换为GeoJSON格式function convertToGeoJSON() {if (!routeResult || !routeResult.routes || routeResult.routes.length === 0) {alert('没有可用的路径数据');return null;}var route = routeResult.routes[0]; // 获取第一条路径var features = [];// 添加起点特征features.push({"type": "Feature","geometry": {"type": "Point","coordinates": [routeResult.start.location.lng, routeResult.start.location.lat]},"properties": {"name": "起点","type": "start"}});// 添加终点特征features.push({"type": "Feature","geometry": {"type": "Point","coordinates": [routeResult.end.location.lng, routeResult.end.location.lat]},"properties": {"name": "终点","type": "end"}});// 处理每个路段for (var i = 0; i < route.steps.length; i++) {var step = route.steps[i];var coordinates = [];// 收集路段中的所有坐标点for (var j = 0; j < step.path.length; j++) {coordinates.push([step.path[j].lng, step.path[j].lat]);}// 添加路段特征features.push({"type": "Feature","geometry": {"type": "LineString","coordinates": coordinates},"properties": {"instruction": step.instruction,"road": step.road,"distance": step.distance,"time": step.time,"action": step.action,"stepIndex": i}});}// 创建完整的路径LineStringvar allCoordinates = [];route.steps.forEach(function(step) {step.path.forEach(function(point) {allCoordinates.push([point.lng, point.lat]);});});// 添加完整路径特征features.push({"type": "Feature","geometry": {"type": "LineString","coordinates": allCoordinates},"properties": {"name": "完整路径","distance": route.distance,"time": route.time,"type": "full_path"}});// 创建GeoJSON对象var geoJSON = {"type": "FeatureCollection","features": features,"properties": {"totalDistance": route.distance,"totalTime": route.time,"startPoint": [routeResult.start.location.lng, routeResult.start.location.lat],"endPoint": [routeResult.end.location.lng, routeResult.end.location.lat]}};return geoJSON;}// 保存GeoJSON数据的函数function saveRouteAsGeoJSON() {var geoJSON = convertToGeoJSON();if (!geoJSON) {return;}// 创建一个Blob对象var dataStr = JSON.stringify(geoJSON, null, 2);var blob = new Blob([dataStr], {type: 'application/geo+json'});// 创建一个下载链接var url = URL.createObjectURL(blob);var a = document.createElement('a');a.href = url;a.download = '步行路径规划结果.geojson';// 触发点击事件下载文件document.body.appendChild(a);a.click();// 清理setTimeout(function() {document.body.removeChild(a);window.URL.revokeObjectURL(url);}, 0);}// 添加按钮点击事件document.getElementById('startPointBtn').addEventListener('click', function() {setMode(currentMode === 'start' ? null : 'start');});document.getElementById('endPointBtn').addEventListener('click', function() {setMode(currentMode === 'end' ? null : 'end');});document.getElementById('planRouteBtn').addEventListener('click', planRoute);document.getElementById('saveButton').addEventListener('click', saveRouteAsJSON);document.getElementById('saveGeoJSONButton').addEventListener('click', saveRouteAsGeoJSON);
</script>
</body>
</html>
http://www.dtcms.com/wzjs/50188.html

相关文章:

  • 建设网站门户百度网络优化
  • 网站 设计 工具seo就业前景如何
  • cms 做网站模板seo免费推广软件
  • 设计师网址推荐浙江seo公司
  • 吉林省电力建设总公司网站站长之家查询工具
  • 海南建设官方信息网站免费引流推广
  • 新疆交通建设行业协会网站山东做网站公司
  • 龙岗网站制作市场网络推广外包注意哪些
  • js网页设计案例seo网络营销外包
  • 电影网站做seo线上推广方式有哪些
  • 网站首页怎么做深圳大鹏新区葵涌街道
  • 邯郸网站建设价格友情贴吧
  • 芜湖网站建设芜湖设计网站免费素材
  • 如何创做网站搜索关键词的方法
  • 做外贸网站客服东台网络推广
  • 个人养老金制度西安网站排名优化培训
  • 网站建设彩铃常州免费网站建站模板
  • 公司起名字推荐北京自动seo
  • 廊坊网站建设的公司外贸平台自建站
  • 地图网站抓取百度短链接在线生成
  • 网站备案被注销了什么叫优化关键词
  • 餐饮手机微网站怎么做网页制作免费模板
  • 专注做一家男生最爱的网站关键词seo优化排名
  • 做我女朋友好不好套路网站百度投放广告联系谁
  • 辽宁住房和城乡建设网站网站建设方案内容
  • 专业做写生的网站百度seo优化技巧
  • 上海网站建设sheji021百度发广告需要多少钱
  • 济南网站建设伍际网络惠州seo按天计费
  • 传送门网站是怎么做的刚刚发生了一件大事
  • 链接网站怎么做企业seo顾问