搜狗地图 Javascript API2.0 API 参考
包含了所有开发中用到的类,方法及事件。
使用前请您认真阅读《搜狗地图API使用条款》,如果您已开始使用,表示您已确认并同意该条款中的所有内容。
参考目录
用于位置检索、周边检索和范围检索。
构造函数
构造函数描述
Search()
创建一个搜索类实例.
方法
方法返回结果描述
search (request:SearchRequest, callback?:function(Object.))
none
将请求发送给服务器,并将查询结果返回给回调函数。 [查看示例]
setRenderer (renderer:SearchRenderer)
none
设置结果的渲染对象。设置之后会将结果渲染到地图上,或指定的结果区
要送到 Search 进行检索的请求的规范。
属性
属性类型说明
map
Map
进行搜索的地图实例
renderer
将结果进行渲染的对象。也可以通过setRenderer方法设置
range
object
必选。表示查询范围。范围有多个属性,用于不同范围的查询{ city:城市, boundFlag:0|2(0代表视野所在的城市内搜索; 2代表视野内搜索), center:以中心点查询, radius:以中心点进行查询时指定半径,limit:0|1(指定半径时有效,代表是否严格限制半径。0代表不限制,1代表限制) }
what
object
必选。表示要查询的内容。有三个属性{ keyword:关键字, classid:分类id, id:uid或者dataid }, 分类id:普通数字代表小类id,前缀加C_的代表大类id。查询时关键字与分类id 可以联合查询。id 只能单独查询,如果存在id属性,就只按id查询。 【查看所有分类id】
查询的返回结果
属性类型说明
data
当message中error属性为null时,此节点有效。返回的是结果数据
request
返回查询的请求信息
返回结果的提示信息
属性类型说明
error
String
服务端的返回的错误信息,有此属性时,将无结果数据返回。
current
object
得到当前结果使用的查询逻辑。包括两个属性{ caption:提示信息 ,request:查询请求}
other
Array.
其它可使用的查询逻辑。数组中是对象。对象包括两个属性{ caption:提示信息 ,request:查询请求}
返回结果信息
属性类型说明
centerxy
Point
当查询xy坐标周边的结果时,会有此属性。代表查询范围的中心点
centerpoint
FeatureObject
当以id为范围查询某关键字,中心点为某个poi时,返回中心点对象的FeatureObject对象(此对象,可以通过FeatureNode.loadFromJson(FeatureObject)方法加载转换成FeatureNode对象。
feature
Array.
返回的有效数据。数组中为FeatureObject对象(可以通过FeatureNode.loadFromJson(FeatureObject)方法加载转换成FeatureNode对象。
返回结果的翻页信息
属性类型说明
curpege
Number
当前是第几页
pagecount
Number
总页数
curresult
Number
当前页包含的结果数
resultcount
Number
总结果数
以从 Search 检索的 SearchResult 对象的形式渲染检索的结果。
构造函数
构造函数描述
SearchRenderer(opt?:SearchRendererOptions)
使用指定选项创建渲染程序。结果可以渲染在地图(作为可视叠加层)上,也可以渲染在
方法
方法返回结果描述
clearResultFeatures ()
none
在地图上清除结果标记。 [查看示例]
getMarkers()
Array.
得到当前地图上的所有标记。
事件
事件参数说明
getMarker
Marker,Node
在div中显示结果时,点击其中一条记录。就会触发。
设置渲染的信息
属性类型说明
map
Map
当前使用的地图
panel
Node
用于显示结果的
searchResult
搜索结果
用于位置检索、周边检索和范围检索。
构造函数
构造函数描述
Bus()
创建公交线搜索类。
方法
方法返回结果描述
route (request:BusRequest, callback?:function(Object.))
none
将请求发送给服务器,并将查询结果返回给回调函数。[查看示例]
setRenderer (renderer:BusRenderer)
none
设置结果的渲染对象。设置之后会将结果渲染到地图上,或指定的结果区
要送到 Bus 进行检索的请求的规范。
属性
属性类型说明
map
Map
进行搜索的地图实例
renderer
结果渲染对象。如果设置此参数,将在线路查询结果之后。将结果渲染到结果区。
avoid
Number
0为默认值,不避开。1为避开地铁。可选
destination
String | Point | LatLng
必选。查询的目的地。建议使用精确坐标查询。
origin
String | Point | LatLng
必选。查询的起始点。建议使用精确坐标查询。
tactic
Number
可选。8:时间排序(按时间从少到多排序),默认。 2:按换乘次数由少到多 (按换乘次数从少到多排序)4:按步行距离排序(按步行距离从少到多排序)
maxResultCount
Number
默认为10条。返回换乘方案条数上限。 可选
maxDist
Number
最大的步行距离。可选
查询的返回结果
属性类型说明
status
String
服务端的返回状态信息。ok 或者为 error
error
String
status 状态为error时,此属性有效。返回的是错误信息。
属性类型说明
routingInfo
记录了起终点的坐标信息与名称。以及请求时发出的相关信息
group
所有的可乘线路信息。
方法
方法返回结果描述
getSchemeNum()
Number
获取共有多少条乘车方案。当status为ok时存在。[查看示例]
SchemeObject
得到index 指定的一条乘车方案。SchemeObject可直接用于查询详细乘车方案。[查看示例]
属性类型说明
ex
String
终点搜狗X坐标信息。
ey
String
终点搜狗Y坐标信息。
sx
String
起点搜狗X坐标信息。
sy
String
起点搜狗Y坐标信息。
et
String
终点名称。
st
String
起点名称。
maxdist
Number
最大的步行距离
属性类型说明
time
Number
所花时间
walkdist
Number
此条线路的步行距离。
line
Array.
线路换乘信息。object{dets:"线路ID,上车站ID,下车站ID:线路ID,上车站ID,下车站ID",linenames:"717:319"}更多选择用冒号分开。
以从 Bus 检索的 BusResult 对象的形式渲染检索的结果。
构造函数
构造函数描述
BusRenderer(opt?:BusRendererOptions)
使用指定选项创建渲染程序。结果可以渲染在地图(作为可视叠加层)上,也可以渲染在
方法
方法返回结果描述
removeRoute()
none
在地图上清除结果标记。 [查看示例]
设置渲染的信息
属性类型说明
map
Map
当前使用的地图
panel
Node
用于显示结果的
busResult
搜索结果
用于检索一条乘车方案的详细信息。
构造函数
构造函数描述
BusDetail(request:Scheme, callback?:function(Object.))
方法
方法返回结果描述
setRenderer (renderer:BusDetailRenderer)
none
设置结果的渲染对象。设置之后会将结果渲染到地图上,或指定的结果区
查询的返回结果
属性类型说明
status
String
服务端的返回状态信息。ok 或者为 error
error
String
status 状态为error时,此属性有效。返回的是错误信息。
属性类型说明
routingInfo
记录了起终点的坐标信息与名称。以及请求时发出的相关信息
start
object
起点信息 {walkdist:"步行距离",name:"起点名称",x:"搜狗X轴坐标",y:"搜狗Y轴坐标"}
end
object
终点信息 {walkdist:"步行距离",name:"终点名称",x:"搜狗X轴坐标",y:"搜狗Y轴坐标"}
fare
Number
全程票价。
transferinfo
记录详细的换乘信息
每段换乘线路的信息。
属性类型说明
upname
String
上车地点的名称。
downname
String
下车地点的名称
walkdist
Number
步行距离
subwayin
String
地铁进站的名称
subwayout
String
地铁出站的名称
subwayinxy
String
地铁进站的搜狗坐标
subwayoutxy
String
地铁出站的搜狗坐标
points
object
此段线路的搜狗坐标信息。可以在创建FeatureNode对象时做为参数将其传递
以从 BusDetail 检索的 BusDetailResult 对象的形式渲染检索的结果。
构造函数
构造函数描述
BusDetailRenderer(opt?:BusDetailRendererOptions)
使用指定选项创建渲染程序。结果可以渲染在地图(作为可视叠加层)上,也可以渲染在
方法
方法返回结果描述
removeRoute()
none
在地图上清除结果标记。 [查看示例]
设置渲染的信息
属性类型说明
map
Map
当前使用的地图
panel
Node
用于显示结果的
busDetailResult
搜索结果
用于自驾线路的检索。
构造函数
构造函数描述
Driving()
创建自驾车线路搜索类。
方法
方法返回结果描述
route (request:DrivingRequest, callback?:function(Object.))
none
将请求发送给服务器,并将查询结果返回给回调函数。[查看示例]
setRenderer (renderer:DrivingRenderer)
none
设置结果的渲染对象。设置之后会将结果渲染到地图上,或指定的结果区
要送到 Bus 进行检索的请求的规范。
属性
属性类型说明
map
Map
进行搜索的地图实例
renderer
结果渲染对象。如果设置此参数,将在线路查询结果之后。将结果渲染到结果区。
destination
String | Point | LatLng
必选。查询的目的地。建议使用精确坐标查询。
origin
String | Point | LatLng
必选。查询的起始点。建议使用精确坐标查询。
tactic
Number
可选。自驾的策略 0:距离短 1:时间短( 默认策略)2:不走高速路
自驾线路检索结果。
属性
属性类型说明
status
String
服务端返回的请求状态。ok说明有结果。可以从data属性中得到数据。error说明检索没有结果。只能读取error属性中的错误信息。
error
String
错误信息。
自驾线路检索结果。
属性
属性类型说明
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。
以从 Driving 检索的 DrivingResult 对象的形式渲染检索的结果。
构造函数
构造函数描述
DrivingRenderer(opt?:DrivingRendererOptions)
使用指定选项创建渲染程序。结果可以渲染在地图(作为可视叠加层)上,也可以渲染在
设置渲染的信息
属性类型说明
map
Map
当前使用的地图
panel
Node
用于显示结果的
drivingResult
搜索结果
方法
方法返回结果描述
setStartDraggable(boolean)
none
设置起点可以拖动。[查看示例]
setEndDraggable(boolean)
none
设置终点可以拖动。[查看示例]
removeRoute()
none
删除添加到地图上的关于此线路的所有标记点,线路[查看示例]
getLinePoints()
Array.
获取自驾线路上的所有点。
用于在地址和坐标之间进行转换的服务。
如果只是通过城市名获取该城市中心的坐标,不需要用此类进行查询,可直接 [查看城市列表]。
构造函数
构造函数描述
Geocoder()
创建可将地址解析请求发送到 sogou地图服务器的新 Geocoder 实例。
方法
方法返回结果描述
geocode(request:GeocoderRequest, callback:function(GeocoderResult)))
none
对请求内容进行地址解析。[查看示例]
设置渲染的信息
属性类型说明
address
object
默认解析,存在就进行地址解析。存在两个属性{addr:地址。越详细越好,最好是**省**市**区**路**号格式的,city:城市}
location
object
可以批量进行反地址解析。一次转最多不超过两百个坐标。存在两个属性{points:需要转的坐标Array.,type:坐标类型 0 搜狗坐标,1标准经纬度坐标}
一个地址解析器将生成从地址解析服务器检索的 JSON 格式。请注意,地址解析可能会传回多个结果对象。
属性类型说明
status
String
ok 或者 error 。如果为error。会在error属性中留有错误信息。如果为ok将会有data 属性
error
String
错误信息。
data
Array.
可能会返回多个结果,每一个结果是一个对象。存在一个文字描述的地址,一个标明此地址的搜狗坐标。