Google地图指南V3:地图上的多个路线

时间:2010-08-21 12:47:05

标签: javascript google-maps directions

我正在尝试在地图的单个实例上渲染多个方向(好吧,它们的折线,基本上)。在map API的先前版本中,我做了类似

的操作
//directions[] stores the GDirections objects
//x[] is an array of Elements extracted from an XMLHTTPResponse object
//iterating over the values in x[]
GEvent.addListener(directions[i], "load", function() {
 var polyline = this.getPolyline();
 map.addOverlay(polyline);
 polyline.setStrokeStyle({opacity:0.2})
 });

directions[i].load("from:here to:"+x[i].childNodes[0].nodeValue,{getPolyline:true});

既然有DirectionsService和DirectionsRenderer类,我不知道做同样事情的最佳做法是什么。我是否创建了DirectionsRenderer类的多个实例,并让它们对主映射的实例执行setMap()?我是否创建了DirectionsServices类的多个实例。

我对javascript和函数式语言一般都很陌生,并且几乎没有尝试理解函数闭包,因为它们与回调有关。也为格式化道歉。

任何帮助将不胜感激,我会尽力澄清您可能提出的任何要点。

2 个答案:

答案 0 :(得分:1)

嘿Ephraim,在研究了几个小时并尝试了不同的解决方案后,我想出了这个,你需要创建不同的DirectionsRenderer实例(这很重要!)在响应函数中创建DirectionsService实例。 This link将引导您走向正确的方向。

答案 1 :(得分:0)

使用@ifaour发布的链接,我掀起了一个肮脏的演示。因为我的目的是为每个方向对象调用多个唯一的航点,所以我把这个代码段稍微改了一下,为航点创建数组:这里是link to the demo ......所有内联。 :d

这是一组非常脏的代码(我是中间代码)......无论如何,如果可以,请将其清理干净