我正在尝试获取折线的纬度和经度。
下面是我正在创建Polyline对象的代码示例,它正在工作。
var startLat = parseFloat(lineSplit[7]);
var startLng = parseFloat(lineSplit[8]);
var endLat = parseFloat(lineSplit[19]);
var endLng = parseFloat(lineSplit[20]);
var polyCoordinates = new Array();
polyCoordinates.push(new google.maps.LatLng(startLat,startLng));
polyCoordinates.push(new google.maps.LatLng(endLat,endLng));
polyLinesArr.push(new google.maps.LatLng(startLat,startLng));
polyLinesArr.push(new google.maps.LatLng(endLat,endLng));
polyPath = new google.maps.Polyline({
path: polyCoordinates,
geodesic: true,
strokeColor: '#060AB1',
strokeOpacity: 1.0,
strokeWeight: 2
});
Coordinates.push(polyPath);
以下是我正在尝试获取Polyline对象的纬度和经度的代码片段。
for (i=0; i<Coordinates.length; i++)
{
//alert(map.getBounds().contains(Coordinates[i].getPosition()));
//alert(JSON.stringify(Coordinates[i]));
alert(Coordinates[i].latitude + " , " + Coordinates[i].longitude);
alert(Coordinates[i].get('Latitude') + " , " + Coordinates[i].get('Longitude'));
Coordinates[i].setMap(map); //or Coordinates[i].setMap(null);
}
在地图上显示折线Coordinates[i].setMap(map); //or Coordinates[i].setMap(null);
。但是我需要在地图上绘制折线,显示纬度和经度。
为了获得折线的纬度和经度,我用Google搜索并浏览了Stackoverflow中的一些帖子,找到了以下用于从折线对象中获取纬度和经度的方法。
警报(坐标[I] .latitude);
警报(坐标[I] .longitude);
警报(坐标[I]获得( '纬度'));
警报(坐标[I]获得( '经度'));
但不幸的是,以上都没有奏效。请帮我找出从折线对象获取纬度和经度的方法。
提前谢谢你。
答案 0 :(得分:1)
根据documentation,可以使用.getPath()
的{{1}}方法检索折线的坐标。
google.maps.Polyline
&#13;
function initialize() {
var map = new google.maps.Map(
document.getElementById("map_canvas"), {
center: new google.maps.LatLng(41, -70),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var startLat = 42;
var startLng = -72;
var endLat = 40;
var endLng = -70;
var polyCoordinates = new Array();
polyCoordinates.push(new google.maps.LatLng(startLat, startLng));
polyCoordinates.push(new google.maps.LatLng(endLat, endLng));
polyPath = new google.maps.Polyline({
path: polyCoordinates,
geodesic: true,
strokeColor: '#060AB1',
strokeOpacity: 1.0,
strokeWeight: 2,
map: map
});
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < polyPath.getPath().getLength(); i++) {
bounds.extend(polyPath.getPath().getAt(i));
console.log(polyPath.getPath().getAt(i).toUrlValue(6));
}
map.fitBounds(bounds);
}
google.maps.event.addDomListener(window, "load", initialize);
&#13;
html,
body,
#map_canvas {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
&#13;