【发布时间】:2013-04-05 11:12:46
【问题描述】:
我正在为Google Maps API 和jQuery 使用gmap3 扩展。
我有一个 .gpx 文件,我通过 AJAX 读取并获取每个坐标并将其添加到数组中。然后我返回这个数组以在我的地图中填充我的折线。
在函数 Test 中,我会在返回之前对点进行计数,并且计数为 0。
这是我处理 .gpx 文件以返回坐标的函数:
function Test() {
var points = [];
$.ajax({
type: "GET",
url: "gpx/12345.gpx",
dataType: "xml",
success: function (xml) {
$(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);
});
}
});
return points;
}
$(document).ready(function () {
var points = Test();
var route1Latlng = new google.maps.LatLng(-33.7610590, 18.9616790);
$('#map_canvas').gmap3({
map: {
options: {
center: route1Latlng,
zoom: 11
}
},
polyline: {
options: {
path: points,
strokeColor: '#FF00AA',
strokeOpacity: .7,
strokeWeight: 4
}
}
});
});
在 IE9 中不绘制折线,但在 FireFox 中可以正常绘制。
【问题讨论】:
-
要等ajax调用才能获得积分
-
这是一个本地文件,应该很快。 IE 不显示,FF 显示。
标签: javascript jquery html google-maps google-maps-api-3