У меня есть один сценарий, как кластер для ближайшего CGPoint в UIView. Так я множество CGPoint NSArray, я пытаюсь получить ближайшее значение и не группироваться, но я не мог получить логику: // мой кодКак найти ближайший CGPoint и создать кластер из NSArray?
for (CGPoint firstObjOfCGPoint in cgPointGroupArray) {
for (CGPoint nextPoint in cgPointGroupArray) {
if (30>[self distanceBetween: firstObjOfCGPoint and:nextPoint]){
[shortestClusterArr addObject:nextPoint];
}
else{
[longestClusterArr addObject:nextPoint];
}
}
if(shortestClusterArr.count>2){
//clustered marker
[self addClusterMarker:shortestClusterArr];
}
else{
//dont cluster marker
}
}
}
//find distance
- (float)distanceBetween:(CGPoint)p1 and:(CGPoint)p2
{
return hypotf((p1.x-p2.x), (p1.y-p2.y));
}
Над кодом, время получить дубликаты точек, а также переопределить на зацикливание тот же объект, поэтому, если кто-то знает логический комментарий здесь, ...