我的应用程序允许用户选择地图上的两个点,并使用 Google maps Apiv3 的 Directions Service 找到它们之间的路线。然后沿着这条路线的坐标必须保存到数据库中。我可以成功编写所有代码来完成此任务。但是我被一个问题排除在外。
我知道 StackOverflow 中还有其他几个问题 - One , Two on the same,但我认为他们或我肯定在这里错过了一些东西。
示例代码:
function getCoordinates(result) {
var currentRouteArray = result.routes[0]; //Returns a complex object containing the results of the current route
var currentRoute = currentRouteArray.overview_path; //Returns a simplified version of all the coordinates on the path
obj_newPolyline = new google.maps.Polyline({ map: map }); //a polyline just to verify my code is fetching the coordinates
var path = obj_newPolyline.getPath();
for (var x = 0; x < currentRoute.length; x++) {
var pos = new google.maps.LatLng(currentRoute[x].kb, currentRoute[x].lb)
latArray[x] = currentRoute[x].kb; //Returns the latitude
lngArray[x] = currentRoute[x].lb; //Returns the longitude
path.push(pos);
}
}
上面的代码工作完美,除了似乎包含 lat 和 lng 坐标的概览路径的kb
和属性并不总是相同的。lb
上次写代码的时候是kb
andlb
几天,后来改成mb
,nb
今天jb
和kb
.
除了上述之外,我没有看到对象中可以为我提供 latlng 的任何其他属性。其他类似问题的答案都提到了这个问题。我在这里错过了什么吗?请提供任何可靠的解决方案。