按距离搜索 最后更新时间: 2021年01月22日
1)函数体:
-(NSArray*)search:(OIMPoint)position byDistance:(float)distance limit:(int)limit;
-(NSArray*)search:(OIMPoint)position byDistance:(float)distance byCategories:(NSArray*)categories limit:(int)limit;
-(NSArray*)searchAround:(NSString*)pid byDistance:(float)distance limit:(int)limit;
-(NSArray*)searchAround:(NSString*)pid byDistance:(float)distance byCategories:(NSArray*)categories limit:(int)limit;
2)参数说明:
参数 | 类型 | 说明 |
---|---|---|
position | OIMPoint* | 指定的位置,包括经纬度和楼层 |
distance | float | 离指定位置的距离(单位:米) |
limit | int | POI个数限制 |
返回值:
参数 | 类型 | 说明 |
---|---|---|
NSArray* | 搜索出的POI列表 |
3)说明:
- 返回的是 OIMFeature 对象列表。
- 距离是按指定点到POI中心点的直线距离计算,并且只返回当前楼层的POI。
- 对象的distance属性值是指定点到POI中心点的直线距离,单位是米。
4)示例代码:
//获取10米内最近的一个POI
OIMPoint position = {120.2345, 39.6789, 1};
NSArray* features = [self.imDataManager search:position byDistance:10 limit:1];
for(OIMFeature* feature in features)
{
NSString* name = feature.name;
double distance = feature.properties["distance"];
}
[self.imMapView setFeatures:features status:OIMFeatureStatus_Checked];