搜狗地图 Javascript API2.0 API 参考

包含了所有开发中用到的类,方法及事件。
使用前请您认真阅读《搜狗地图API使用条款》,如果您已开始使用,表示您已确认并同意该条款中的所有内容。

参考目录

Search 类

用于位置检索、周边检索和范围检索。

构造函数

构造函数描述
Search() 创建一个搜索类实例.

方法

方法返回结果描述
search (request:SearchRequest, callback?:function(Object.<SearchResult>)) none 将请求发送给服务器,并将查询结果返回给回调函数。 [查看示例]
setRenderer (renderer:SearchRenderer) none 设置结果的渲染对象。设置之后会将结果渲染到地图上,或指定的结果区<div>上。 [查看示例]

SearchRequest 对象规范

要送到 Search 进行检索的请求的规范。

属性

属性类型说明
map Map 进行搜索的地图实例
renderer SearchRenderer 将结果进行渲染的对象。也可以通过setRenderer方法设置
range object 必选。表示查询范围。范围有多个属性,用于不同范围的查询{ city:城市<String>, boundFlag:0|2(0代表视野所在的城市内搜索; 2代表视野内搜索)<Number>, center:以中心点查询<LatLng |Point>, radius:以中心点进行查询时指定半径<Number>,limit:0|1(指定半径时有效,代表是否严格限制半径。0代表不限制,1代表限制)<Number> }
what object 必选。表示要查询的内容。有三个属性{ keyword:关键字<String>, classid:分类id<String>, id:uid或者dataid<String> }, 分类id:普通数字代表小类id,前缀加C_的代表大类id。查询时关键字与分类id 可以联合查询。id 只能单独查询,如果存在id属性,就只按id查询。 【查看所有分类id

SearchResult 对象

查询的返回结果

属性类型说明
message SearchResultMessage 服务端的返回信息
data SearchResultData message中error属性为null时,此节点有效。返回的是结果数据
pageinfo SearchResultPageinfo 返回的翻页信息
request SearchRequest 返回查询的请求信息

SearchResultMessage 对象

返回结果的提示信息

属性类型说明
error String 服务端的返回的错误信息,有此属性时,将无结果数据返回。
current object 得到当前结果使用的查询逻辑。包括两个属性{ caption:提示信息 <String>,request:查询请求<SearchRequest>}
other Array.<object> 其它可使用的查询逻辑。数组中是对象。对象包括两个属性{ caption:提示信息 <String>,request:查询请求<SearchRequest>}

SearchResultData 对象

返回结果信息

属性类型说明
centerxy Point 当查询xy坐标周边的结果时,会有此属性。代表查询范围的中心点
centerpoint FeatureObject 当以id为范围查询某关键字,中心点为某个poi时,返回中心点对象的FeatureObject对象(此对象,可以通过FeatureNode.loadFromJson(FeatureObject)方法加载转换成FeatureNode对象。
feature Array.<FeatureObject> 返回的有效数据。数组中为FeatureObject对象(可以通过FeatureNode.loadFromJson(FeatureObject)方法加载转换成FeatureNode对象。

SearchResultPageinfo 对象

返回结果的翻页信息

属性类型说明
curpege Number 当前是第几页
pagecount Number 总页数
curresult Number 当前页包含的结果数
resultcount Number 总结果数

SearchRenderer 类

以从 Search 检索的 SearchResult 对象的形式渲染检索的结果。

构造函数

构造函数描述
SearchRenderer(opt?:SearchRendererOptions) 使用指定选项创建渲染程序。结果可以渲染在地图(作为可视叠加层)上,也可以渲染在 <div> 面板(作为文本说明)上。

方法

方法返回结果描述
clearResultFeatures () none 在地图上清除结果标记。 [查看示例]
getMarkers() Array.< Marker> 得到当前地图上的所有标记。

事件

事件参数说明
getMarker Marker,Node 在div中显示结果时,点击其中一条记录。就会触发。

SearchRendererOptions 对象规范

设置渲染的信息

属性类型说明
map Map 当前使用的地图
panel Node 用于显示结果的<div>
searchResult SearchResult 搜索结果

Bus 类

用于位置检索、周边检索和范围检索。

构造函数

构造函数描述
Bus() 创建公交线搜索类。

方法

方法返回结果描述
route (request:BusRequest, callback?:function(Object.<BusResult>)) none 将请求发送给服务器,并将查询结果返回给回调函数。[查看示例]
setRenderer (renderer:BusRenderer) none 设置结果的渲染对象。设置之后会将结果渲染到地图上,或指定的结果区<div>上。[查看示例]

BusRequest 对象规范

要送到 Bus 进行检索的请求的规范。

属性

属性类型说明
map Map 进行搜索的地图实例
renderer BusRenderer 结果渲染对象。如果设置此参数,将在线路查询结果之后。将结果渲染到结果区。
avoid Number 0为默认值,不避开。1为避开地铁。可选
destination String | Point | LatLng 必选。查询的目的地。建议使用精确坐标查询。
origin String | Point | LatLng 必选。查询的起始点。建议使用精确坐标查询。
tactic Number 可选。8:时间排序(按时间从少到多排序),默认。 2:按换乘次数由少到多 (按换乘次数从少到多排序)4:按步行距离排序(按步行距离从少到多排序)
maxResultCount Number 默认为10条。返回换乘方案条数上限。 可选
maxDist Number 最大的步行距离。可选

BusResult 对象

查询的返回结果

属性类型说明
status String 服务端的返回状态信息。ok 或者为 error
error String status 状态为error时,此属性有效。返回的是错误信息。
data BusResultData 返回的结果信息

BusResultData 对象

属性类型说明
routingInfo BusResultRoutingInfo 记录了起终点的坐标信息与名称。以及请求时发出的相关信息
group Array.<BusResultLineInfo> 所有的可乘线路信息。

方法

方法返回结果描述
getSchemeNum() Number 获取共有多少条乘车方案。当status为ok时存在。[查看示例]
getScheme (index:int) SchemeObject 得到index 指定的一条乘车方案。SchemeObject可直接用于查询详细乘车方案。[查看示例]

BusResultRoutingInfo 对象

属性类型说明
ex String 终点搜狗X坐标信息。
ey String 终点搜狗Y坐标信息。
sx String 起点搜狗X坐标信息。
sy String 起点搜狗Y坐标信息。
et String 终点名称。
st String 起点名称。
maxdist Number 最大的步行距离

BusResultLineInfo 对象

属性类型说明
time Number 所花时间
walkdist Number 此条线路的步行距离。
line Array.<object> 线路换乘信息。object{dets:"线路ID,上车站ID,下车站ID:线路ID,上车站ID,下车站ID",linenames:"717:319"}更多选择用冒号分开。

BusRenderer 类

以从 Bus 检索的 BusResult 对象的形式渲染检索的结果。

构造函数

构造函数描述
BusRenderer(opt?:BusRendererOptions) 使用指定选项创建渲染程序。结果可以渲染在地图(作为可视叠加层)上,也可以渲染在 <div> 面板(作为文本说明)上。

方法

方法返回结果描述
removeRoute() none 在地图上清除结果标记。 [查看示例]

BusRendererOptions 对象规范

设置渲染的信息

属性类型说明
map Map 当前使用的地图
panel Node 用于显示结果的<div>
busResult BusResult 搜索结果

BusDetail 类

用于检索一条乘车方案的详细信息。

构造函数

构造函数描述
BusDetail(request:Scheme, callback?:function(Object.<BusDetailResult>)) 创建一个详细乘车方案类实例.Scheme 通过 BusResult.data.getScheme(index)获得

方法

方法返回结果描述
setRenderer (renderer:BusDetailRenderer) none 设置结果的渲染对象。设置之后会将结果渲染到地图上,或指定的结果区<div>上。[查看示例]

BusDetailResult 对象

查询的返回结果

属性类型说明
status String 服务端的返回状态信息。ok 或者为 error
error String status 状态为error时,此属性有效。返回的是错误信息。
data BusDetailResultData 返回的结果信息

BusDetailResultData 对象

属性类型说明
routingInfo BusResultRoutingInfo 记录了起终点的坐标信息与名称。以及请求时发出的相关信息
start object 起点信息 {walkdist:"步行距离",name:"起点名称",x:"搜狗X轴坐标",y:"搜狗Y轴坐标"}
end object 终点信息 {walkdist:"步行距离",name:"终点名称",x:"搜狗X轴坐标",y:"搜狗Y轴坐标"}
fare Number 全程票价。
transferinfo Array.<TransferLine> 记录详细的换乘信息

TransferLine 对象

每段换乘线路的信息。

属性类型说明
upname String 上车地点的名称。
downname String 下车地点的名称
walkdist Number 步行距离
subwayin String 地铁进站的名称
subwayout String 地铁出站的名称
subwayinxy String 地铁进站的搜狗坐标
subwayoutxy String 地铁出站的搜狗坐标
points object 此段线路的搜狗坐标信息。可以在创建FeatureNode对象时做为参数将其传递

BusDetailRenderer 类

以从 BusDetail 检索的 BusDetailResult 对象的形式渲染检索的结果。

构造函数

构造函数描述
BusDetailRenderer(opt?:BusDetailRendererOptions) 使用指定选项创建渲染程序。结果可以渲染在地图(作为可视叠加层)上,也可以渲染在 <div> 面板(作为文本说明)上。

方法

方法返回结果描述
removeRoute() none 在地图上清除结果标记。 [查看示例]

BusDetailRendererOptions 对象规范

设置渲染的信息

属性类型说明
map Map 当前使用的地图
panel Node 用于显示结果的<div>
busDetailResult BusDetailResult 搜索结果

Driving 类

用于自驾线路的检索。

构造函数

构造函数描述
Driving() 创建自驾车线路搜索类。

方法

方法返回结果描述
route (request:DrivingRequest, callback?:function(Object.<DrivingResult>)) none 将请求发送给服务器,并将查询结果返回给回调函数。[查看示例]
setRenderer (renderer:DrivingRenderer) none 设置结果的渲染对象。设置之后会将结果渲染到地图上,或指定的结果区<div>上。[查看示例]

DrivingRequest 对象规范

要送到 Bus 进行检索的请求的规范。

属性

属性类型说明
map Map 进行搜索的地图实例
renderer DringRenderer 结果渲染对象。如果设置此参数,将在线路查询结果之后。将结果渲染到结果区。
destination String | Point | LatLng 必选。查询的目的地。建议使用精确坐标查询。
origin String | Point | LatLng 必选。查询的起始点。建议使用精确坐标查询。
tactic Number 可选。自驾的策略 0:距离短 1:时间短( 默认策略)2:不走高速路

DrivingResult 对象规范

自驾线路检索结果。

属性

属性类型说明
status String 服务端返回的请求状态。ok说明有结果。可以从data属性中得到数据。error说明检索没有结果。只能读取error属性中的错误信息。
error String 错误信息。
data DrivingResultData 返回的结果信息

DrivingResultData 对象规范

自驾线路检索结果。

属性

属性类型说明
Start object 起点信息 {city:"城市名称",caption:"起点名称",x:"搜狗X轴坐标",y:"搜狗Y轴坐标"}
End object 终点信息 {city:"城市名称",caption:"终点名称",x:"搜狗X轴坐标",y:"搜狗Y轴坐标"}
cost Number 耗时。单位毫秒。
distance Number 距离。单位米。
price Number 打车票价,只有在存在当前城市打车价格数据且距离小于200公里时,才返回该字段。
time String 总用时,单位是中文的例如:31分钟。
Steps object Steps是对线路的文字描述,其中为Step数组,每个Step元素代表一段具体路段的描述,Step元素中包含 id desc两个子节点,id为序号,以1为开头,desc为该段路的具体文字描述。注意:对于某些较长路段, Step元素下,仍可能包含Steps数组,是对这一路段的更详细的描述,目的为方便客户端做详细路段的隐藏打开用。关于 Desc 属性的解释:Desc中的中括号中包含着途经点或者道路,或者收费站信息。自驾路线文字描述中的TAG中的类型值含义(第二个元素为tag分类):1 出口,2 立交桥,3 方向 ,4 地标 ,5 道路 ,6 收费站如道路信息,只包含道路名称及类型:如:沿[学院路,5]直行途径地标信息:需要加入地标的坐标,如:经[月坛南桥,2,12952223,4825571]左转当表示收费信息时 ,id为6,代表收费站:如果收费大于0,收费站tag内容包含如下信息:信息包含[名称,类型id,x坐标(搜狗坐标),y坐标(搜狗坐标),计费金额,计费里程,计费起始站名称,计费及时站x坐标,计费其实在y坐标]如果收费等于0,表示刚刚进入收费路段,只领卡不缴费,此时信息只包含收费站入口信息:[名称,类型id,x坐标(搜狗坐标),y坐标(搜狗坐标),计费金额(此时为0)]
Routes object Routes是对线路的地图(坐标序列)描述,子节点为Route节点,route含义为路段,这里先明确一个概念,拖动点,拖动点是鼠标在客户端在已有的自驾线路上拖动线路,以便使方案符合自己的规划,拖动后,线路会随着鼠标停留的道路发生改变。如果没有拖动,则只有一个Route当拖动线路后,Route变为两个或多个,取决于自驾线路被拖动几次,拖动一次,多产生一个Route,代表因拖动而新增加的路段。Route节点包含如下节点:id :序号,以1为起始iddistance: 本路段距离,单位为米time:本路段所需要时间,单位为分钟Segments:该路段的坐标描述,坐标描述会分为多个Segment,Segment元素中包含id :所有route中的segement的id依次排序,以1为起始id;这里的id与step元素的id是一一对应的。Way:包含道路级别level和名称nameFeature:该段路的坐标描述,其中的points中的txt为具体坐标序列,采用压缩格式。需要解压缩成真实坐标与Step元素类似,Segment元素也有可能有子一级的Segments,如果某id的Step存在子Steps,则相对应id的Segment也存在子Segments。

DrivingRenderer 类

以从 Driving 检索的 DrivingResult 对象的形式渲染检索的结果。

构造函数

构造函数描述
DrivingRenderer(opt?:DrivingRendererOptions) 使用指定选项创建渲染程序。结果可以渲染在地图(作为可视叠加层)上,也可以渲染在 <div>面板(作为文本说明)上。

DrivingRendererOptions 对象规范

设置渲染的信息

属性类型说明
map Map 当前使用的地图
panel Node 用于显示结果的<div>
drivingResult DrivingResult 搜索结果

方法

方法返回结果描述
setStartDraggable(boolean) none 设置起点可以拖动。[查看示例]
setEndDraggable(boolean) none 设置终点可以拖动。[查看示例]
removeRoute() none 删除添加到地图上的关于此线路的所有标记点,线路[查看示例]
getLinePoints() Array.<Point> 获取自驾线路上的所有点。

Geocoder 类

用于在地址和坐标之间进行转换的服务。
如果只是通过城市名获取该城市中心的坐标,不需要用此类进行查询,可直接 [查看城市列表]。

构造函数

构造函数描述
Geocoder() 创建可将地址解析请求发送到 sogou地图服务器的新 Geocoder 实例。

方法

方法返回结果描述
geocode(request:GeocoderRequest, callback:function(GeocoderResult))) none 对请求内容进行地址解析。[查看示例]

GeocoderRequest 对象规范

设置渲染的信息

属性类型说明
address object 默认解析,存在就进行地址解析。存在两个属性{addr:地址。越详细越好,最好是**省**市**区**路**号格式的<String>,city:城市<String>}
location object 可以批量进行反地址解析。一次转最多不超过两百个坐标。存在两个属性{points:需要转的坐标Array.<Point|LatLng>,type:坐标类型 0 搜狗坐标,1标准经纬度坐标<number>}

GeocoderResult 类

一个地址解析器将生成从地址解析服务器检索的 JSON 格式。请注意,地址解析可能会传回多个结果对象。

属性类型说明
status String ok 或者 error 。如果为error。会在error属性中留有错误信息。如果为ok将会有data 属性
error String 错误信息。
data Array.<object{address:,location:,province:,city:}> 可能会返回多个结果,每一个结果是一个对象。存在一个文字描述的地址,一个标明此地址的搜狗坐标。