簡體   English   中英

如何從折線對象獲取緯度和經度

[英]How to Get Latitude and Longitude from the Polyline Object

我正在嘗試獲取折線的緯度和經度。

下面是我用來創建 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); Coordinates[i].setMap(map); //or Coordinates[i].setMap(null); 線工作。 但是我需要顯示地圖上繪制的折線的緯度和經度。

為了獲取折線的緯度和經度,我用谷歌搜索並瀏覽了 Stackoverflow 中的一些帖子,發現以下方法可用於從折線對象中獲取緯度和經度。

警報(坐標[i]。緯度);

警報(坐標[i]。經度);

警報(坐標[i].get('緯度'));

警報(坐標[i].get('經度'));

但不幸的是,以上都沒有奏效。 請幫我找出從折線對象中獲取緯度和經度的方法。

先感謝您。

根據文檔,可以使用google.maps.Polyline.getPath()方法檢索折線的坐標。

 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);
 html, body, #map_canvas { height: 100%; width: 100%; margin: 0px; padding: 0px }
 <script src="https://maps.googleapis.com/maps/api/js"></script> <div id="map_canvas"></div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM