google map gpx loading,怎么样?

时间:2011-02-15 13:00:25

标签: php javascript google-maps

那里有很多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。

任何好主意或评论请~~~

3 个答案:

答案 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)。