Bug fix: some markers are disappear sometimes
MODIFY
src/ios/GoogleMaps/PluginMarker.m
src/ios/GoogleMaps/PluginMarker.m
@synchronized (self.mapCtrl.objects) {
NSString *iconCacheKey = [NSString stringWithFormat:@"marker_icon_%@", marker.userData];
NSString *propertyId = [NSString stringWithFormat:@"marker_property_%@", marker.userData];
+ [self.mapCtrl.objects objectForKey: marker.userData];
[self.mapCtrl.objects removeObjectForKey:iconCacheKey];
[self.mapCtrl.objects removeObjectForKey:propertyId];
marker.map = nil;
imgData = nil;
[self.mapCtrl.objects setObject:iconCacheKey forKey:[NSString stringWithFormat:@"marker_icon_%@", marker.userData]];
+ // Draw label
+ if ([iconProperty objectForKey:@"label"]) {
+ image = [self drawLabel:image labelOptions:[iconProperty objectForKey:@"label"]];
+ }
+
dispatch_async(dispatch_get_main_queue(), ^{
marker.icon = image;

MODIFY
src/ios/GoogleMaps/PluginMarkerCluster.m
src/ios/GoogleMaps/PluginMarkerCluster.m
@@ -54,9 +54,12 @@ const int GEOCELL_GRID_SIZE = 4;
}
@synchronized (self.pluginMarkers) {
- if (![[self.pluginMarkers objectForKey:markerId] isEqualToString:@"WORKING"]) {
+ if ([[self.pluginMarkers objectForKey:markerId] isEqualToString:@"WORKING"]) {
+ [self.pluginMarkers setObject:@"DELETED" forKey:markerId];
+ } else {
@synchronized (self.mapCtrl.objects) {
[self _removeMarker:marker];
+ [self.mapCtrl.objects removeObjectForKey:markerId];
marker = nil;
if ([self.mapCtrl.objects objectForKey:[NSString stringWithFormat:@"marker_property_%@", markerId]]) {
[self.mapCtrl.objects removeObjectForKey:[NSString stringWithFormat:@"marker_property_%@", markerId]];
@@ -64,8 +67,6 @@ const int GEOCELL_GRID_SIZE = 4;
}
[self.pluginMarkers removeObjectForKey:markerId];
[self.deleteMarkers removeObjectAtIndex:i];
- } else {
- [self.pluginMarkers setObject:@"DELETED" forKey:markerId];
}
}
}

Bug fix: some markers are disappear sometimes