为具有多个位置的商家构建iPhone应用。我有一个显示所有位置的mapview,我让它工作以显示地图上的位置。缩小您可以看到我指定的所有位置。问题是我需要它首先显示最接近客户当前位置的位置。
要点: 1.使用property-list(config.plist)指定位置。 2.它确实显示当前位置的蓝点,这是准确的。当缩小并选择我设置的任何位置时,它会将您带到谷歌地图,这从当前位置到特定的营业地点都是准确的。 3.这适用于iPhone当然使用xcode。
感谢。
答案 0 :(得分:1)
只是为了给你一些代码的开头,这里是一个迭代你所有位置并返回最近的位置的方法的例子。
-(YourModel*)getClosestLocation
{
CLLocation *myLocation = currentLocation //This is the current location you should get from the GPS
NSArray *allLocations = myModelArray; //array with all locations you want to compare
YourModel *closestLocation = nil;
CLLocationDistance closestDistance = CGFLOAT_MAX;
for (YourModel* model in allLocations)
{
CLLocation *modelLocation = [[CLLocation alloc] initWithLatitude:model.latitude longitude:model.longitude];
CLLocationDistance distance = [myLocation distanceFromLocation:modelLocation];
if (distance < closestDistance) {
closestLocation = modelLocation;
closestDistance = distance;
}
}
return closestLocation;
}
请提供一些反馈,如果有帮助的话。
答案 1 :(得分:0)
这看起来非常简单,遍历位置,计算到当前位置的距离,找到最短的位置(在迭代期间跟踪它),将地图设置为缩放以显示用户位置和最近位置的边界框。 / p>