注釈がマップビューに常に追加されるとは限らないという奇妙なバグがあります。注釈を追加するコードは次のとおりです。
- (void)plotVehicles {
NSMutableArray *currentVehicles = [[MyApplication getInstance] currentVehicles];
for (Vehicle * veh in currentVehicles) {
VehiclePin * vehiclePin = [[VehiclePin alloc] initWithVehicle:veh];
[self.mapView addAnnotation:vehiclePin];
[self.vehiclePins addObject:vehiclePin];
NSLog(@"current ann %i %@ %@",self.mapView.annotations.count,vehiclePin,self.mapView.annotations);
}
NSLog(@"annotations added %i/%i",self.mapView.annotations.count,self.vehiclePins.count);
}
最初のログ (ループ内) には、追加される注釈mapView
とvehiclePins
mapview.annotations の現在の状態が表示されます。このログの結果は次のとおりです。
current ann 1 <VehiclePin: 0x1573c470> (
"<VehiclePin: 0x1573c470>"
)
current ann 2 <VehiclePin: 0x9e7f490> (
"<VehiclePin: 0x1573c470>",
"<VehiclePin: 0x9e7f490>"
)
current ann 2 <VehiclePin: 0x9e7f430> (
"<VehiclePin: 0x1573c470>",
"<VehiclePin: 0x9e7f490>"
)
current ann 3 <VehiclePin: 0x1573f730> (
"<VehiclePin: 0x1573c470>",
"<VehiclePin: 0x9e7f490>",
"<VehiclePin: 0x1573f730>"
)
current ann 3 <VehiclePin: 0x1573f870> (
"<VehiclePin: 0x1573c470>",
"<VehiclePin: 0x9e7f490>",
"<VehiclePin: 0x1573f730>"
)
...
合計 31 個の注釈がありますが、配列はその時点 (3 つの要素) 以降は変更されず、2 番目のログの驚くべき結果は次のとおりです。
annotations added 3/31
現在Xcode 5を使用していますが、xcode 4.6を使用しても問題はありませんでした
何か不足していますか?
編集:また、私はチェックしましたがCLLocationCoordinate2DIsValid
、それらは有効であり、異なる座標です。