route-me マーカーを非表示にするのに少し問題があるようです。それらは正常に表示されているように見えますが、for ループで非表示にしようとすると、クラッシュするようです。ここに私が持っているものがあります:
- (void) tapOnMarker: (RMMarker*) marker onMap: (RMMapView*) map{
NSArray* markers = mapView.markerManager.markers;
for(RMMarker *mk in markers) {
[mk hideLabel];
}
[marker showLabel];
}
理論上の for ループは、マーカー マネージャーにあるすべてのマーカーをループして非表示にする必要がありますが、代わりに次のエラー メッセージでクラッシュします。
-[RMMapLayer hideLabel]: unrecognized selector sent to instance 0x83f7680
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[RMMapLayer hideLabel]: unrecognized selector sent to instance 0x83f7680'
*** First throw call stack:
(0x1b91012 0x1959e7e 0x1c1c4bd 0x1b80bbc 0x1b8094e 0x4afa 0x6978a 0x8d433f 0x8d4552 0x8b23aa 0x8a3cf8 0x256bdf9 0x256bad0 0x1b06bf5 0x1b06962 0x1b37bb6 0x1b36f44 0x1b36e1b 0x256a7e3 0x256a668 0x8a165c 0x2b75 0x2a75)
libc++abi.dylib: terminate called throwing an exception
このエラー メッセージをよく見ると、なぜ RMMapLayer を呼び出しているのですか? hideLabel 関数は RMMarker クラスにあります。具体的には「RMMarker *mk in maps」と書いています。ここで何が間違っていますか?どうぞよろしくお願いいたします。