iOS 高德地图 marker点击与取消点击

场景:
点击地图上的marker跳转页面,返回此页面时,再次点击此marker没反应。

原因:
高德里点击marker后,需要实现取消点击marker方法,此marker才能再次点击(比如点击地图别的地方,就会实现取消点击,但是连续点击的话就会出现不响应的问题)

解决:

//取消点击marker
-(void)mapView:(MAMapView *)mapView didDeselectAnnotationView:(MAAnnotationView *)view{
  NSLog(@"取消点击marker");
}

//点击marker 返回mark数据(原生发命令反RN-监听)
- (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];//取消选中
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容