場景:
點擊地圖上的marker跳轉(zhuǎn)頁面涌萤,返回此頁面時酷窥,再次點擊此marker沒反應(yīng)泵三。
原因:
高德里點擊marker后耕捞,需要實現(xiàn)取消點擊marker方法,此marker才能再次點擊(比如點擊地圖別的地方烫幕,就會實現(xiàn)取消點擊俺抽,但是連續(xù)點擊的話就會出現(xiàn)不響應(yīng)的問題)
解決:
//取消點擊marker
-(void)mapView:(MAMapView *)mapView didDeselectAnnotationView:(MAAnnotationView *)view{
NSLog(@"取消點擊marker");
}
//點擊marker 返回mark數(shù)據(jù)(原生發(fā)命令反RN-監(jiān)聽)
- (void)mapView:(MAMapView *)mapView didSelectAnnotationView:(MAAnnotationView *)view{
NSLog(@"點擊marker");
MAPointAnnotation *annotaion = (MAPointAnnotation *)view.annotation;
NSString *latitude = [NSString stringWithFormat:@"%lf",annotaion.coordinate.latitude];
NSString *longitude = [NSString stringWithFormat:@"%lf",annotaion.coordinate.longitude];
for (int i = 0; i < self.marksInfoArr.count; i ++) {
if([latitude isEqualToString:[self.marksInfoArr[i] valueForKey:@"latitude"]] && [longitude isEqualToString:[self.marksInfoArr[i] valueForKey:@"longitude"]]){
[self.eventEmiiter callBackRNMarker_MakerEvent:self.marksInfoArr[i]];
[self.routeMapView deselectAnnotation:annotaion animated:NO];//取消選中
}
}
}
此方法可以直接走取消點擊方法,無需用點擊地圖的別的地方的方式
[self.routeMapView deselectAnnotation:annotaion animated:NO];//取消選中