代码改变世界

Google map api 3.9 Directions 相关的服务

2012-07-20 11:12  废墟中的垃圾  阅读(1962)  评论(0)    收藏  举报

DirectionsRenderer 道路描绘服务

Renders directions retrieved in the form of a DirectionsResult object retrieved from the DirectionsService.

通过一个道路请求服务返回的道路结果进行描绘道路。(DirectionsResult 道路结果服务 和 DirectionsService 道路请求服务 会在接下来进行讲解。)

构造函数 DirectionsRenderer(opts?:DirectionsRendererOptions) 用来创建一个 道路描绘服务对象。

在使用中实际上是 var directionsDisplay = new google.maps.DirectionsRenderer(); 或者

var directionsDisplay = new google.maps.DirectionsRenderer(DirectionsRendererOptionsObject);

方法:

 方法名  返回结果  描述
 getDirections()  DirectionsResult  Returns the renderer's current set of directions. 返回当前描绘的道路
 getMap()  Map  返回道路描绘所在的地图
 getPanel()  Node  返回渲染的容器的 html 标记容器节点
 getRouteIndex()  number  返回当前使用中的道路渲染对象的路由索引
 setDirections(directions:DirectionsResult)  None  设置通过道路请求服务返回的需要渲染的道路结果。 通过这个方法设置一个合法的道路可以在地图或者容器上显示结果。
 setMap(map:Map)  None  通过这个方法设置在那个地图上进行描绘,如果设置为 null 表示在地图上删除描绘。
 setOptions(options:DirectionsRendererOptions)  None  初始化之后重新设置描绘
 setPanel(panel:Node)  None  设置渲染的div节点,如果设置null则表示 div节点上删除描绘
 setRouteIndex(routeIndex:number)  None  设置选软的路由索引(从0 开始),默认的情况下,第一个路由将会被描绘。

 

 

 

 

 

 

 

 

 

1

事件

名称 参数 描述
directions_changed None 这个事件在道路描绘变化的时候触发。触发条件是1、当一个新的道路结果被设置;2、用户结束拖拽而改变一个道路。

 

 

 

DirectionsRendererOptions 道路描述参数对象

This object defines the properties that can be set on a DirectionsRenderer object.

这个对象定义了道路渲染对象的属性。

属性

属性名 类型 描述
directions DirectionsResult 通过道路服务返回一个在地图或者div节点容器显示的道路结果。
draggable boolean 如果设置为 true 则允许用户拖拽和修改道路的路径。
hideRouteList boolean 这个属性标识是否在ui上提供可选择的路线。 默认情况下,这个属性石false 而且 一个用户可以选择的道路列表被显示在道路关系容器里。 设置这个属性为true 隐藏这个列表。
infoWindow InfoWindow 这个信息窗口在标记呗点击的时候展示。 已经打开的窗口将被覆盖,位置也会移动。如果没有被置顶,道路描绘将会创建和使用自己的窗口。 如果 suppressInfoWindows 设置成了 true,则这个属性将会被忽略。
map Map 道路显示的 Map
markerOptions MarkerOptions 标记的初始化信息。所有的道路上的标记都会使用这些信息。
panel Node 显示道路的 div 节点。
polylineOptions PolylineOptions 折线的初始化信息,道路描绘的所有折线会使用这样的信息。
preserveViewport boolean 默认情况下,输入的地图会被中心化和缩放到道路的范围里面。如果这个选项设置为 true 则视窗是不会改变的,除非地图的中心和缩放没有被设置。
routeIndex number 在 DirectionsResult 对象里面的索引值。 默认值是0.
suppressBicyclingLayer boolean 在自行车路线需要描绘时阻止描绘。
suppressInfoWindows boolean 阻止描绘信息窗口
suppressMarkers boolean 阻止描绘标记
suppressPolylines boolean 阻止描绘折线

 

 

 

 

 

 

 

 

 

 

 

 

 

DirectionsService 路线服务对象

A service for computing directions between two or more places.

两个或两个以上地点之间道路计算的服务。

构造函数

 DirectionsService() 创建一个路线服务对象。

 在使用中实际上是 var directionsService= new google.maps.DirectionsService();

方法

方法名 返回值 描述
route(request:DirectionsRequest, callback:function(DirectionsResult, DirectionsStatus)) None 发送一个路线搜索请求。

 

 

 

DirectionsRequest 路线请求对象

A directions query to be sent to the DirectionsService.

一个被发送到 路线服务的请求信息

属性

属性名 类型 描述
avoidHighways boolean 如果是 true ,通知路线服务,如果可能的话避开高速公路。可选参数。
avoidTolls boolean 如果是 true ,通知路线服务如果可能的话避开收费道路。可选参数。
destination LatLng|string 终点的位置。 这个是一个空间化的字符串或者一个经纬度对象。必选参数。
optimizeWaypoints boolean 如果设置为 true ,路线服务将会重新计算提供最短的路线中间点。如果中间点被优化了。返回的道路点顺序会重新计算。(从描述不是很能理解。)
origin LatLng|string 起点的位置。 这个是一个空间化的字符串或者一个经纬度对象。必选参数。
provideRouteAlternatives boolean 是否提供可选路线。可选参数。
region string

解析请求的区域代码。可选参数。

transitOptions TransitOptions 只有在旅行类型设置为公共交通的时候提供设置。这个对象在其他旅行类型情况下无效。
travelMode TravelMode 请求路线的类型。必选参数。
unitSystem UnitSystem 在显示距离的时候使用那种距离单位。 默认的单位系统是这个国家区域的单位。
waypoints Array.<DirectionsWaypoint> 中间点的数组。 路线会通过这些从起点到终点的所有点进行计算。最大的允许点是8个,加上起点和重点。 商业客户允许包含起点和终点的最多23个点。 中间点不支持道路交通类型的路线。

 

 

 

 

 

 

 

 

 

 

 

TravelMode 行进方式对象

The valid travel modes that can be specified in a DirectionsRequest as well as the travel modes returned in a DirectionsStep.

在道路请求中可以设置的行进方式

属性名 描述
BICYCLING 指定路线请求返回的类型为骑车
DRIVING 指定路线请求返回的类型为开车
TRANSIT 指定路线请求返回的类型为公共交通
WALKING 指定路线请求返回的类型为走步

 

 

 

 

UnitSystem  单位制对象

The valid unit systems that can be specified in a DirectionsRequest.

路线请求指定的标准单位制。

两个常量 IMPERIAL 英里制、 METRIC 米单位制。

 

TransitOptions 公共交通初始化信息对象

The TransitOptions object to be included in a DirectionsRequest when the travel mode is set to TRANSIT.

公共交通初始化信息对象是当行进模式设置为 TRANSIT 的时候被包含于 道路请求对象内。

有两个属性  arrivalTime 和 departureTime。 这两个属性都是时间类型,从1970年1月1日到现在的毫秒数。 如果指定了到达时间,那么出发时间被忽略。如果达到时间和出发时间都没有指定,那么出发时间的值是当前时间。

DirectionsWaypoint  路线提示点对象

A DirectionsWaypoint represents a location between origin and destination through which the trip should be routed.

在道路开始和结束点之间标识地点的路线提示点对象

两个属性:

 location 是 经纬度对象或者字符串。可以是一个地址或者是一个经纬度对象。

stopover 布尔类型。如果设置为true,那么这个道路点将会成为开始点和结束点之间的断点。这个点会把路线切分成两段。默认情况下这个值是 true。 可选参数。

 

DirectionsStatus 路线请求返回状态对象

The status returned by the DirectionsService on the completion of a call to route().

通过路线服务请求后返回路线的状态。

常量:

INVALID_REQUEST          路线请求的对象无效
MAX_WAYPOINTS_EXCEEDED   超出最大道路提示点要求。包括起点和终点最多允许8个点。商业版本允许23个点。
NOT_FOUND            起点和终点或者提示点最少有一个找不到。
OK                 返回结果是一个有效的路径。
OVER_QUERY_LIMIT        超出单位时间最大请求限制。
REQUEST_DENIED         网站不允许使用这个服务。
UNKNOWN_ERROR         请求返回了一个未知的服务器错误,重新请求可能会解决。
ZERO_RESULTS          在起点和终点之间没有可以提供的路径。

 

DirectionsResult  路径结果对象

The directions response retrieved from the directions server. You can render these using a DirectionsRenderer or parse this object and render it yourself. You must display the warnings and copyrights as noted in the Maps API terms of service. Note that though this result is "JSON-like," it is not strictly JSON, as it indirectly includes LatLng objects

这是从路径服务器返回的路径相应。你可以通过路精渲染对象进行渲染,或者渲染本身。你必须显示警告和版权信息在地图上。 注意,这个对象是一个类似于json的对象,但是不是严格意义上的json。 这个对象包含了一系列的经纬度对象。

只有一个属性 routes 是一个 DirectionsRoute 对象的数组。包含路程和步骤的信息。除非设置了可选路线为true,那么只返回一条路径。

 

DirectionsRoute  路径路线对象

A single route containing a set of legs in a DirectionsResult. (This object was formerly known as "DirectionsTrip".) Note that though this object is "JSON-like," it is not strictly JSON, as it directly and indirectly includes LatLng objects.

一条路线包含了路径结果的一系列路程。(这个对象原来被称为 DirectionsTrip)注意,这个对象是一个类似于json的对象,但是不是严格意义上的json。 这个对象包含了一系列的经纬度对象。

属性:

属性值 类型 描述
 bounds  LatLngBounds  路径的范围。
 copyrights  string  被显示的路径的版权文字。
 legs  LatLngBounds

 路程的对象的数组。每一个路程包含了组成这个路程的信息。 任意一个示意点或者是终点将标识一个路程。所以一个没有示意点的路线将只有一个路程和一条路线。 还有一个示意点的将会有2个。(这个属性很像 routArray<string>s对象)

 

 overview_path  Array.<LatLng>

 一个经纬度对象数组标识这条路的全路线。这个路径是为了让这些定点组成一条合适的路线。

 warnings  Array.<string>  在显示这些路线的时候进行提醒。
 waypoint_order  Array.<number>

 如果 optimizeWaypoints 属性设置成 true。 这个字段将会包含一个排序了的示意点数组。例如,如果是输入是

Origin: Los Angeles
  Waypoints: Dallas, Bangor, Phoenix
  Destination: New York
and the optimized output was ordered as follows:
  Origin: Los Angeles
  Waypoints: Phoenix, Dallas, Bangor
  Destination: New York

 

如然后这个字段将会返回2,0,1这样的数组。 注意示意点的所以从 0 开始。

如果任意示意点设置成 false, 这个字段将会为空,因为由于这个问题,路线的优化是无效的。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DirectionsStep  路线步骤对象

A single DirectionsStep in a DirectionsResult. Some fields may be undefined. Note that though this object is "JSON-like," it is not strictly JSON, as it directly includes LatLngobjects.

路线结果里面的一个步骤。 一些字段可以不定义。 注意这个对象是类似于json的对象,但不是严格的json,这里面直接包含一系列经纬度对象。

属性 类型 说明
distance Distance 这个步骤的距离。 这个属性可能由于未知而未定义。
duration Duration 以文字的形式描述这段步骤所需要的时间。 这个属性有可能犹豫未知而未被定义。
end_location LatLng 这个步骤的结束点。
instructions string 这个步骤的指令。
path Array.<LatLng> 描述这段步骤的顺序的经纬度点。
start_location LatLng 这个步骤的开始点。
steps DirectionsStep 这个步骤的子步骤。 别是在公共交通路线里面没有交通的步骤里面。
transit TransitDetails 这个步骤特定交通的详细内容。除非旅行模式设置了公共交通,这个属性会未被定义。
travel_mode TravelMode 这个步骤里面旅行的模式。

 

 

 

 

 

 

 

以上是翻译内容,接下来是实例。接下来将会被补充。