- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我是一名山地车手,我使用 Endomondo
和 Strava
等程序在我的 Samsung S3 Galaxy
上跟踪我的骑行。关于我的旅程的所有信息都保存在这两个网站上。
我有自己的个人网站,上面展示了我所住的各个地区的山区路线。使用 Endomondo 和 Strava 通过 GPS
记录的路线数据我已导出到 .gpx
文件。我需要 .gpx 文件中的这些数据显示在我自己的个人网站上。因此,我开始寻找使用 Google Maps API
并在不使用外部工具的情况下导入 .gpx 文件的解决方案。
我努力寻找答案。我看到这篇文章,其中有人使用 jQuery
提取 XML 文件中的数据并在他的 Google map 上显示这些数据: http://www.jacquet80.eu/blog/post/2011/02/Display-GPX-tracks-using-Google-Maps-API
这是将它实现到我的 HTML 标记中的方式:
<script>
function initialize() {
var route1Latlng = new google.maps.LatLng(-33.7610590,18.9616790);
var mapOptions = {
center: route1Latlng,
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
$.ajax({
type: "GET",
url: "gpx/my_route.gpx",
dataType: "xml",
success: function (xml) {
var points = [];
var bounds = new google.maps.LatLngBounds();
$(xml).find("trkpt").each(function () {
var lat = $(this).attr("lat");
var lon = $(this).attr("lon");
var p = new google.maps.LatLng(lat, lon);
points.push(p);
bounds.extend(p);
});
var poly = new google.maps.Polyline({
// use your own style here
path: points,
strokeColor: "#FF00AA",
strokeOpacity: .7,
strokeWeight: 4
});
poly.setMap(map);
// fit bounds to track
map.fitBounds(bounds);
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
它有效。但这是正确的做法吗?有没有更好的方法来实现它?
最佳答案
2020 年更新
适用于 Google map 最新 API:
<!DOCTYPE html>
<html>
<head>
<title>Add Map</title>
<script
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap&libraries=drawing&v=weekly"
defer
></script>
<style type="text/css">
#map {
height: 400px;
width: 400px;
}
</style>
<script>
function initMap() {
const map = new google.maps.Map(document.getElementById("map"), {
zoom: 3,
center: { lat: 0, lng: -180 },
mapTypeId: "satellite",
disableDefaultUI: true,
});
fetch('2020-10-12_2007.gpx')
.then(response => response.text())
.then(str => (new window.DOMParser()).parseFromString(str, "text/xml"))
//.then(data => console.log(data))
.then(doc =>
{
var points = [];
var bounds = new google.maps.LatLngBounds();
const nodes = [...doc.getElementsByTagName('trkpt')];
nodes.forEach(node =>
{
var lat = node.getAttribute("lat");
var lon = node.getAttribute("lon");
//console.log(lat);
var p = new google.maps.LatLng(lat, lon);
points.push(p);
bounds.extend(p);
})
var poly = new google.maps.Polyline({
path: points,
strokeColor: "#0000FF",
strokeOpacity: 1,
strokeWeight: 4
});
poly.setMap(map);
// fit bounds to track
map.fitBounds(bounds);
})
}
</script>
</head>
<body>
<h3>My Google Maps Demo</h3>
<!--The div element for the map -->
<div id="map"></div>
</body>
</html>
关于javascript - 从 .gpx 文件导入坐标并使用 Google Maps API 显示的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15829048/
起亚, 我从 Strava 导出了我所有的 GPX 文件,所以我可以对它们进行一些分析,但我一直在试图弄清楚每个文件用于什么类型的事件。 例如,我的文件看起来像这样,其中 元素似乎定义了事件类型。
我正在开发 iOS 5 应用程序。 我想开发一个 GPX 解析器,但我想知道在我开始开发它之前是否已经开发了一个。 你知道有没有 Objective-c GPX 解析器吗? 最佳答案 看看: http
我正在尝试使用 writeOGR 创建点的 gpx 文件。 writeOGR() 将创建一个没有错误的 shp 文件,但如果我尝试编写 KML 或 GPX 文件,我会收到此错误。我在 Windows
我正在尝试在 Xcode 中模拟一条具有速度、纬度和经度信息的路径。 有一个站点生成相同的内容:http://www.bikehike.co.uk/mapview.php 我找到了一个 awk 脚本可
我正在使用 openlayers(用于 Web GIS 的 JavaScript API)开发一个 Web 测绘项目,我需要为用户提供一个选项,以从他们之前所在的坐标中获取 .gpx 导出。 我正在选
假设我有许多 .gpx 文件(这些文件包含来自 Garmin eTrex 的 GPX 航路点数据)。我想将它们以不同的名称加载到 R 中并对其进行操作。 我可以这样读取一个文件: library(ma
我想知道 GPX 赛道和路线文件之间的基本区别是什么 最佳答案 路线是一系列航点,它是您的导航计划。轨迹是您在尝试实现计划(路线)时实际遵循的记录路径。 作为 GPX 文件,路线和轨迹使用不同的 XM
我想为 IOS 实现一个应用程序。此应用程序应跟踪 gpx 文件中的路线。你能告诉我一些链接或开源项目吗?非常感谢 最佳答案 所以我想这是一个有点老的问题,但我在最近搜索 GPX 时发现了这个问题并且
我的 iOS 程序将创建一个 gpx 文件。这两者之间的正确格式是什么?是吗: 或者 New Track
我一直在四处寻找,但无法找到 GPX 文件中与“0”高程相对应的椭球体或大地水准面的标准。有标准吗?我是否只假设 WGS84 椭球体?或者,如果使用了不同的标准,是否有办法从文件中找出使用的标准?还是
我已经有一段时间对将 GPX 文件添加到 Iphone/iPad 项目有疑问了。GPX 文件到底包含什么以及它在模拟器上运行应用程序时如何帮助我们。 最佳答案 首先看一下this wiki site
我有一个需要构建的 Android 程序,它将一些 GPS 坐标导出到 gpx 文件。这是我到目前为止的代码。我正在寻找从位置管理器存储 GPS 坐标然后传递到 gpx 文件的最佳方法。 主 Acti
如何在 GPX 文件中发表评论? 我在谷歌上查过,这里没有运气。谢谢 ! 最佳答案 假设 GPX = GPS eXchange Format 它只是 XML,因此您只需要一个标准的 XML 注释:
我目前正在使用 DDMS 透视图通过 gpx 文件模拟 android 模拟器的运动。但是,我只能找到带有纬度/经度对的 gpx 文件,而不是速度、高度等。关于找到一个好的 gpx 文件的任何建议,其
如何轻松创建一个 GPX 文件来表示两点之间的轨迹(带有航路点)? 最佳答案 这Tool太棒了!设置位置或路线并下载 GPX 文件。不要忘记删除文件末尾的 .txt。 玩得开心:D 关于ios - 创
我按照教程学习解析 gpx 文件(位于我的原始文件夹中)中的数据,但出于某种原因,没有数据被解析到 NodeList 中。这是我的 XMLParser 类 package bry.Bicker.Oja
我有一个带有速度列的 Pandas 数据框,其中偶尔有噪音(数据来自 Garmin,代表运行期间捕获的数据)。 我正在尝试找到一种对相邻点进行平均的方法,但是当我遇到这样的事情时 9.11227344
我有一个文本文件,其中包含以逗号分隔的不同点的纬度和经度,如下所示。我想将它转换成 GPX 文件,这样我就可以使用它来将坐标从这个文件发送到我的模拟器。如何通过 java 类做到这一点?我的文本文件如
Wikipedia says GPX 文件的 MIME 类型是 application/gpx+xml。所以我使用了以下代码: startActivityForResult( new Inte
有没有一种方法可以在运行时以编程方式更改位置模拟器城市?例如,这将允许测试模拟伦敦或东京。 下图显示了如何手动切换位置(GPX 文件)。如何在应用程序运行时以编程方式实现此结果? 最佳答案 另一种设置
我是一名优秀的程序员,十分优秀!