SSukha 地图开发者文档

搜索与地理编码

9.1 POI 搜索

const search = new sdk.PlaceSearch({map,pageIndex:1,pageSize:20});
const result = await search.search('酒店');
console.log(result.poiList.count,result.poiList.pois);
const nearby = await search.searchNearBy('酒店',[100.02228,21.67623],1000);
if(nearby.poiList.pois.length) {
  const detail = await search.getDetails(nearby.poiList.pois[0].id);
  console.log(detail.name,detail.location);
}

pageIndex 为 1–5,pageSize 为 1–50;type 为Sukha分类字符串;map 可选,传入时服务可显示结果标记。周边 radius 为 0–5000 米。返回 POI 包含 id、name、type、location,kind 可区分地点/建筑;ID 不兼容高德 ID。city 等未声明筛选参数不受支持。

setPageIndex/setPageSize 改分页,clear() 清理搜索标记,cancel() 取消请求,destroy() 释放服务。同一个服务新请求取消旧请求,需要并行时使用独立实例。

9.2 输入联想与搜索框

// 页面先提供 <input id="keyword">
const autocomplete = new sdk.AutoComplete({input:'keyword'});
const suggestions = await autocomplete.search('酒店');
console.log(suggestions.tips);

input 可为 ID 或 HTMLInputElement;也可不绑定输入控件,仅调用 search。SearchBox 是组合 UI,按 SearchOptions 创建。触碰输入框及下拉区域之外会收起建议;程序切换菜单时可以调用 searchBox.hideSuggestions(),最终退出 destroy。

9.3 正地理编码与逆地理编码

const geocoder = new sdk.Geocoder({radius:1000,extensions:'all'});
const address = await geocoder.getAddress([100.02228,21.67623]);
console.log(address.regeocode.formattedAddress,address.regeocode.matched);
const places = await geocoder.getLocation('门店名称');
console.log(places.geocodes);
配置 / 字段 含义
radius 0–3000 米,逆查询半径
extensions base / all
lang 本版仅 zh_cn;不是通用多语言选择
batch 本版只支持 false
city 不支持非空行政城市过滤
matched / matchType 是否匹配,inside / nearby / none
addressSource 地址来源
distance 到匹配对象的距离,可能 null
addressComponent 结构字段可能为空,不保证省市区门牌

正查询匹配已发布地点/建筑名称。名称结果或 formattedAddress 不等于完整街道门牌解析。geocodes 空数组代表无匹配,使用回调时可以收到 no_data。