Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图如何在DIV上绘制路线?_Javascript_Html - Fatal编程技术网

Javascript 谷歌地图如何在DIV上绘制路线?

Javascript 谷歌地图如何在DIV上绘制路线?,javascript,html,Javascript,Html,我很好奇谷歌地图是如何在谷歌地图的DIV元素上绘制蓝色路线的。我知道如何在Canvas元素上实现这一点,但googlemaps不使用html5canvas,它们在DIV上绘制复杂的线条 他们是怎么做到的 要明确的是:我想知道当我们得到从A点到B点的方向时,他们是如何画蓝线的,而不是路线是如何计算的 谢谢 “方向显示为多段线图形” 这是一个多段线覆盖,请参见: 不久前,他们使用服务器端渲染的图像。当前的解决方案是在主要浏览器中使用矢量图形API 顺便说一句,他们现在对非IE浏览器()使用SVG,I

我很好奇谷歌地图是如何在谷歌地图的DIV元素上绘制蓝色路线的。我知道如何在Canvas元素上实现这一点,但googlemaps不使用html5canvas,它们在DIV上绘制复杂的线条

他们是怎么做到的

要明确的是:我想知道当我们得到从A点到B点的方向时,他们是如何画蓝线的,而不是路线是如何计算的

谢谢

“方向显示为多段线图形”

这是一个多段线覆盖,请参见:

不久前,他们使用服务器端渲染的图像。当前的解决方案是在主要浏览器中使用矢量图形API

顺便说一句,他们现在对非IE浏览器()使用SVG,IE使用VML(包括IE9测试版)()。IE9测试版支持SVG,因此我希望将来也能看到IE9+使用SVG

使用Firebug或IE开发者工具,您可以看到SVG(SVG标记)/VML(形状标记)标记


编辑:阅读你的评论。我希望它是通过Javascript将正常呈现的SVG/VML标记与实时更改(例如路线更改)结合起来的。当您请求路线、解析点或地址时,Google的服务器会检索到结果对象(),其中包含许多用于在地图中绘制“蓝线”的信息。在地图中画线的函数是
directionsrender.setDirections(response)


setDirections
中,谷歌所做的基本上是读取响应的
LatLngs
,并将其绘制为地图中的多段线。多段线没有点的限制。

我认为这并不能真正回答这个问题,它只是把问题推到了“一个
方向渲染器
或一个
多段线
如何工作”上。(编辑:你已经部分修复了我刚才说的链接:)谢谢。我想知道多段线是如何精确绘制的。比如使用了什么标签或Javascript函数?谢谢!我将检查API