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