我想在谷歌地图上绘制具有给定坐标的形状。但是当我尝试这种方式时:http://jsfiddle.net/zzhy/4auzbjd5/3/ 它正在绘制它但没有显示在正确的位置。 我该如何解决?
var coordinates = r[0].split(":");
var flightPlanCoordinates = new Array();
var bounds = new google.maps.LatLngBounds();
for(i=0;i<coordinates.length;i++)
{
var point =new google.maps.LatLng(coordinates[i].split(',')[0],coordinates[i].split(',')[1]);
bounds.extend(point);
flightPlanCoordinates.push(point);
}
var flightPath = new google.maps.Polyline({
path: flightPlanCoordinates,
geodesic: true,
strokeColor: '#FF0000',
strokeOpacity: 1.0,
strokeWeight: 2
});
flightPath.setMap(map);
map.fitBounds(bounds);
console.log("flightPlanCoordinates:" + flightPlanCoordinates);
console.log("bounds:" + bounds);
答案 0 :(得分:1)
因为看起来数组项的顺序是longitude,latitude
,但google.maps.LatLng
期望latitude,longitude
。
切换参数的顺序:
var point =new google.maps.LatLng(coordinates[i].split(',')[1],coordinates[i].split(',')[0]);