private static void OnElementLoadedHandler(int tag, long id, IntPtr tagPtr, int tagCount, IntPtr vertexPtr, int vertexCount, IntPtr stylePtr, int styleCount) { Tile tile; if (!Tiles.TryGetValue(tag, out tile) || tile.IsDisposed) { return; } // NOTE see note above var vertices = MarshalUtils.ReadDoubles(vertexPtr, vertexCount); var tags = MarshalUtils.ReadStrings(tagPtr, tagCount); var styles = MarshalUtils.ReadStrings(stylePtr, styleCount); MapDataAdapter.AdaptElement(tile, _observers, _trace, id, vertices, tags, styles); }