那里有很多gpx数据。 使用谷歌地图,Kml数据加载和显示很容易。 代码是:
var ctaLayer = new google.maps.KmlLayer('http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml');
ctaLayer.setMap(this.mMap);
但是,我想在谷歌地图上显示gpx数据。 我知道我可以使用babel转换器,它不是软件库。
我不知道在谷歌地图上显示gpx数据的最佳方式是什么。 使用php(重复文件)制作转换器,或使用javascript制作加载器... - ;
我目前的编程语言是php for server。
任何好主意或评论请~~~
答案 0 :(得分:3)
您可以将GPX文件提供给您在问题上的KmlLayer构造函数。下面的代码对我有用:
function initialize() {
var latlng = new google.maps.LatLng(40.73, -111.93);
var myOptions = {
zoom: 10,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var ctaLayer = new google.maps.KmlLayer('http://siteyoucontrol.com/lake-gpx.xml');
ctaLayer.setMap(map);
}
答案 1 :(得分:2)
我有两条建议,都需要你的一些工作。 OpenLayers是一个包含GPX阅读器的javascript映射API,您可以使用OpenLayers(使用Google作为基本地图)或只使用GPX格式阅读器。或者,您可以使用OGR库命令行实用程序ogr2ogr
将GPX转换为KML,可能需要设置Web服务。在PHP脚本中包装命令行调用很容易,该脚本可以通过URL检索GPX文件并将其转换为KML并返回生成的KML。
答案 2 :(得分:0)
我提出了一个非常简单的方法:执行AJAX请求以从Javascript加载GPX文件,然后解析它(使用jQuery非常明确)并创建折线以显示在Google地图上。
此处提供了更多详情和实时示例:Display GPX tracks using Google Maps API(适用于Google Maps API v3)。