我很好奇,谷歌地图是如何绘制在谷歌地图DIV元素蓝色路线。我知道如何在Canvas元素上做到这一点,但Google地图不使用HTML5画布,而是在DIV上绘制复杂的线条。Google地图如何在DIV上绘制路线?
他们是怎么做到的呢?
要明确:我想知道他们是如何画蓝线的时候,我们得到的路线并不怎么计算从点A到B的方向。
感谢
我很好奇,谷歌地图是如何绘制在谷歌地图DIV元素蓝色路线。我知道如何在Canvas元素上做到这一点,但Google地图不使用HTML5画布,而是在DIV上绘制复杂的线条。Google地图如何在DIV上绘制路线?
他们是怎么做到的呢?
要明确:我想知道他们是如何画蓝线的时候,我们得到的路线并不怎么计算从点A到B的方向。
感谢
前阵子,他们习惯使用呈现在服务器端的图像。目前的解决方案是在主流浏览器中使用矢量图形API。 AFAIK,他们现在使用SVG用于非IE浏览器(Mozilla SVG),IE使用VML(最高可达IE9 Beta)(VML on Wikipedia)。 IE9测试版支持SVG,所以我期望在未来能够看到使用SVG的IE9 +。
用Firebug或IE开发工具,你可以看到SVG(SVG标签)/ VML(形状标记)的标记。
编辑:读您的评论。我期望它能够正常渲染SVG/VML标记与实时更改(例如路由更改)的组合通过Javascript
http://code.google.com/apis/maps/documentation/javascript/services.html#DraggableDirections
“路线显示为折线图”。
这是一个折线叠加层,请参阅: http://code.google.com/apis/maps/documentation/javascript/overlays.html#Polylines
我不认为这真的回答了这个问题,它只是把它推出来,以“如何DirectionsRenderer”或“折线”工作“。 (编辑:你已经部分解决了我刚才讨论的链接唯一性问题:http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good -answers) – 2010-11-15 07:13:26
谢谢。我想知道折线如何绘制。像使用什么标签或Javascript功能? – arbithero 2010-11-15 07:16:52
当您询问路线,解析点或地址时,Google的服务器将检索结果对象( APi Reference of Result Object)至极含有大量的用来绘制在地图中的“蓝线”的相关信息。在地图上绘制线条的功能是DirectionsRenderer.setDirections(response)
。
Inside setDirections
,Google做的基本上是读取响应的LatLngs
,并在地图中将其绘制为折线。多段线没有限制点。
谢谢!我会检查API – arbithero 2010-11-15 21:49:47