Google Maps API可以构建从源到目的地的方向。在以下 Google 的示例中,每个步骤都发布到 HTML 代码中:http ://code.google.com/apis/maps/documentation/examples/directions-simple.html
我想得到这个方向每一步的地理编码,并将它们存储在一个数组中。我相信这是可能的,但我不知道如何处理。
非常感谢您的任何回答。问候
Google Maps API可以构建从源到目的地的方向。在以下 Google 的示例中,每个步骤都发布到 HTML 代码中:http ://code.google.com/apis/maps/documentation/examples/directions-simple.html
我想得到这个方向每一步的地理编码,并将它们存储在一个数组中。我相信这是可能的,但我不知道如何处理。
非常感谢您的任何回答。问候
是的,您可以非常轻松地从GDirections获取各个步骤。
首先,您必须确保getSteps: true
在调用该GDirections.load()
方法时传递该选项。然后您可以简单地遍历GDirections.getRoute(i).getStep(j)
,如下例所示:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps Simple Directions Demo</title>
<script src="http://maps.google.com/maps?file=api&v=2&sensor=false"
type="text/javascript"></script>
</head>
<body onunload="GUnload()">
<div id="map" style="width: 550px; height: 400px"></div>
<script type="text/javascript">
var map = new GMap2(document.getElementById("map"));
var directions = new GDirections(map);
directions.load('from: London, UK to: Glasgow, UK', { getSteps: true });
GEvent.addListener(directions, "load", function() {
if (directions.getNumRoutes() > 0) {
for (var i = 0; i < directions.getRoute(0).getNumSteps(); i++) {
directions.getRoute(0).getStep(i).getLatLng().lat();
directions.getRoute(0).getStep(i).getLatLng().lng();
directions.getRoute(0).getStep(i).getDescriptionHtml();
directions.getRoute(0).getStep(i).getPolylineIndex();
directions.getRoute(0).getStep(i).getDistance().meters;
directions.getRoute(0).getStep(i).getDuration().seconds;
}
}
});
</script>
</body>
</html>
进一步阅读和参考: