POI(Point of Interest),即“兴趣点”。在地理信息系统中,一个POI可以是一栋房子、一个景点、一个邮筒或者一个公交站等。
HarmonyOS地图SDK提供三种类型的POI检索:城市内检索、周边检索和区域检索(即矩形区域检索)。
关键字检索适用于在某个城市内搜索某个名称相关的POI,例如:查找“北京市”的“小吃”。
searchInCity() {let search: PoiSearch = PoiSearch.newInstance();let optionParams: PoiCitySearchOptionParams = {city: this.addressInfo,keyword: '美食'}let option = new PoiCitySearchOption(optionParams)search.searchInCity(option).then((res: PoiResult) => {// 使用数据})}
周边检索是在一个圆形范围内的POI检索,适用于以某个位置为中心点,自定义搜索半径,搜索某个位置附近的POI。
searchInNearby() {let search: PoiSearch = PoiSearch.newInstance();let opParams: PoiNearbySearchOptionParams = {keyword: "房地产$公司企业$政府机构$生活服务$酒店$教育培训$门址$美食$丽人$医疗",location: new LatLng(this.markerLat,this.markerLng),radius: 1000}let option = new PoiNearbySearchOption(opParams)search.searchNearby(option).then((res: PoiResult) => {// 使用数据})}
POI区域检索,即“在由开发者指定的西南角和东北角组成的矩形区域内的POI检索”。
let search: PoiSearch = PoiSearch.newInstance();let southWest = new LatLng(40.049557, 116.279295)let northEast = new LatLng(40.056057, 116.308102)let optionParams: PoiBoundSearchOptionParams = {bound: new LatLngBounds(southWest, northEast),keyword: '美食'}let option = new PoiBoundSearchOption(optionParams)search.searchInBound(option).then((res: PoiResult) => {// 使用数据})
searchPoiDetail() {let search: PoiSearch = PoiSearch.newInstance();search.searchPoiDetail({uids: this.uid,isExtendAdcode: false}).then((res: PoiDetailSearchResult) => {// 使用数据})}
let search: PoiSearch = PoiSearch.newInstance();search.searchPoiIndoor({bid: this.bid, wd: this.wd, floor: this.floor}).then((res: PoiIndoorResult) => {// 使用数据})
上一篇
下一篇
本篇文章对您是否有帮助?