使用过谷歌地图的驾车路线查询吗?即使没用过,大概也能想象得出这是怎么回事——输入起点和终点,回车,地图上就会标出起点到终点的路线详情,欧~~了。
不错,我可不是要来这里告诉你怎么使用这种基本操作的!
截个图,先睹为快!
估计你知道我要说什么吧,图上都有提示了!
对,现在使用谷歌地图的驾车路线查询,把你的鼠标移到代表驾车路线的这条蓝线上,就会出现一个小圆圈,把它拖到你想经过的地点,地图就会自动重新查询,重新计算出从起点到终点、并且经过你所设定的中间点的新路线。而且,这样的中间点可以设置多个!
注意了,只要能计算出有效路线,不等你松开鼠标,只要你稍微停顿,新路线就会动态给出,同时,给出里程和参考耗时,比如

所以,拖动的目的,除了设置需要经过的地点,驾车路线查询现在也可以成为你避开某个地点或者规划行程的工具,比如需要回避拥堵或者管制路段。不知道怎么做?在回避路段周围多设几个经过点,我就不信避不开 :)
也许你会问,如果我不仅仅需要经过某个地点,还想在这个地点上停靠,该怎么办呢?很简单,在拖动后出现的圆圈上点右键,选择“目的地”,或者在路线上的任何一点点击右键,选择“添加目的地”,如图:

这样路线上就会增加一个绿色的图标作为新增的目的地,同时左边的驾车指示就会以目的地分割,一目了然。当然,你也可以在地图上任何一条路上点击右键并选择“添加为目的地”,查询路线会自动延伸至你新加的目的地。
说到这里,就不能不提另一个与驾车路线有关的右键菜单——在地图上直接点击右键。
如果你并不确定你的目的地或出发地的准确地址,那么,直接在地图上右键点击的的目标吧,并分别在弹出的菜单中选择“以此处为出发点的路线”或“到达此目的地的路线”就可以了。
谷歌地图的驾车路线查询是没有范围限制的,不管你是查询城里的上班路线还是远隔千里的驾车旅游,相信你都能找到适合你的路线,请随意安排您的旅程吧!
等等,你出门旅游还不想走高速,也不想走任何收费道路?这个......
好吧,谷歌地图想到了,使用谷歌地图查询驾车路线,你现在可以选择“避开高速路”和“避免通行费”,赶紧到谷歌地图主页上找找下面这个截图藏在哪里吧,或许你会有更多新的发现,比如查找步行路线!当然,别忘了先指定出发地址和目的地址哦。 如果你有新的建议和需求,可以到我们的用户论坛里提出,我们会努力把地图做得更好!
问:这个在谷歌地图API里面有对应的方法吗?可以使用谷歌地图API在自己的地图上实现这个功能吗?
答:嗯,现在还没有直接的方法可以让你一步到位,但使用谷歌地图API我们可以实现相似的功能。还是看一下API中的哪些类和方法和这个能够拖拽的驾车路线查询有关系吧。
- 使用GDirections的loadFromWaypoints()方法,可以查询经过多个点的路线,这些点可以是地址名称,也可以是坐标,但是要保证这些地址和坐标都能够被正确解析。示例代码如下:
var directions = new GDirections (map, panel);
var wayPoints = ["北京市清华园科建大厦","北京市海淀区中关村大街","北京市王府井"];
directions.loadFromWaypoints(wayPoints);
- 使用GDirections的getPolyline()方法,可以取得查询路线对应的polyline,但是需要注意polyline必须在查询结果可用之后才可以取到,所以,你需要监听GDirection的addoverlay事件,这个事件是在polyline添加到地图上以后才触发的,所以这能保证我们可以得到正确的polyline。比如:
GEvent.addListener(directions, "addoverlay", function(){
polyline = directions.getPolyline();
});
- 使用GDirectionsOptions,你可以设定avoidHighways属性为true,那么你的地图查询结果也可以避开高速路了。GDirectionsOptions里还有其他一些有趣的属性,比如可以设定travelMode,指定查询驾车路线或步行路线。
- 你需要动态改变polyline的editing状态,这里需要注意GPolyline的drawing和editing状态的区别,你可以把下面两个方法里面的Editing换成Drawing,看看会是什么样的结果比如:
GEvent.addListener(polyline, "mouseover", function(){
polyline.enableEditing();
});
GEvent.addListener(polyline, "mouseout", function(){
polyline.disableEditing();
});
- polyline改变后会触发lineupdated事件,你需要监听这个事件,并再次调用directions.loadFromWaypoints()方法得到新的路线。
3、其他还有一些问题需要考虑,比如怎么得到和验证新的地点坐标,判断新的地点在wayPoints数组中的index等等,相信这些都不会难住聪明的你。
怎么样,赶紧动手试试吧,说不定你能做出更好更方便的驾车路线查询,别忘了和大家分享奥。
在你使用谷歌地图API 的过程中,如果遇到问题和困难,欢迎访问谷歌地图API中文论坛 ,在那里有很多专家和热心的好手们会帮你解决问题:
Tags:
2009-9-17 14:52:23分类:
东莞SEO视窗 作者:
东莞SEO 已浏览
loading次
网友评论0条 我要评论